From 8139e6cefc0dfb6804a6971825b643f1f861af94 Mon Sep 17 00:00:00 2001 From: mrg Date: Tue, 7 Feb 2023 04:53:54 +0000 Subject: [PATCH] fix code attempting to skip adding "-g" if "-g*" already is used. in bsd.lib.mk there's a check for "MKDEBUG != no" that will add -g to CFLAGS (maybe) and to CSHLIBFLAGS (always), given that it isn't in CFLAGS already.. except the conditional is "||" instead of "&&" and since the MKDEBUG/NODEBUG checks pass, the CFLAGS check isn't even performed. additionally, check CXXFLAGS as well as CFLAGS. this fixes the attempt to use "-g1" in the llvmrt build, which fails because the compile lines end up being "... -g1 .. -g ..", (the "-g" comes from the CSHLIBFLAGS variable in that case.) this reduces the size of llvm-enabled gallium debug by ~1.5GiB on amd64. --- share/mk/bsd.lib.mk | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 3f0d2422e27d..eb8309d70834 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.lib.mk,v 1.389 2022/03/29 22:48:04 christos Exp $ +# $NetBSD: bsd.lib.mk,v 1.390 2023/02/07 04:53:54 mrg Exp $ # @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 .include @@ -169,8 +169,10 @@ MKSHLIBOBJS= yes MKSHLIBOBJS= no .endif -.if (${MKDEBUG:Uno} != "no" && !defined(NODEBUG)) || \ - (defined(CFLAGS) && !empty(CFLAGS:M*-g*)) +# Avoid adding "-g" if we already have a "-g*" option. +.if (${MKDEBUG:Uno} != "no" && !defined(NODEBUG)) && \ + (!defined(CFLAGS) || empty(CFLAGS:M-g*)) && \ + (!defined(CXXFLAGS) || empty(CXXFLAGS:M-g*)) # We only add -g to the shared library objects # because we don't currently split .a archives. CSHLIBFLAGS+= -g