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.
This commit is contained in:
mrg 2023-02-07 04:53:54 +00:00
parent d9186ff839
commit 8139e6cefc
1 changed files with 5 additions and 3 deletions

View File

@ -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 <bsd.init.mk>
@ -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