Module Name: src
Committed By: christos
Date: Fri Apr 11 15:56:09 UTC 2014
Modified Files:
src/share/mk: bsd.lib.mk
Log Message:
explain what's going on, add another kludge for -g
To generate a diff of this commit:
cvs rdiff -u -r1.351 -r1.352 src/share/mk/bsd.lib.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/mk/bsd.lib.mk
diff -u src/share/mk/bsd.lib.mk:1.351 src/share/mk/bsd.lib.mk:1.352
--- src/share/mk/bsd.lib.mk:1.351 Wed Apr 9 15:23:09 2014
+++ src/share/mk/bsd.lib.mk Fri Apr 11 11:56:09 2014
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.lib.mk,v 1.351 2014/04/09 19:23:09 christos Exp $
+# $NetBSD: bsd.lib.mk,v 1.352 2014/04/11 15:56:09 christos Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.include <bsd.init.mk>
@@ -622,7 +622,11 @@ ${_LIB.so.full}: ${SOLIB} ${DPADD} ${DPL
${_LDFLAGS.${_LIB}} -o ${.TARGET} ${_LIBLDOPTS} \
-Wl,--whole-archive ${SOLIB} \
-Wl,--no-whole-archive ${_LDADD.${_LIB}}
-.if !defined(_LIB.so.debug)
+# XXX[1]: When the arm linker bug where -Wl,-x eats $a,$d,$t from shared
+# libraries remove the following conditional and put this back in the linker
+# line. For now we delay stripping symbols until the debug split step or skip
+# it alltogether if we are using -g
+.if !defined(_LIB.so.debug) && !empty(CFLAGS:M*-g*)
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
.endif
# We don't use INSTALL_SYMLINK here because this is just
@@ -642,6 +646,8 @@ ${_LIB.so.full}: ${SOLIB} ${DPADD} ${DPL
.if defined(_LIB.so.debug)
${_LIB.so.debug}: ${_LIB.so.full}
${_MKTARGET_CREATE}
+# XXX[2]: OBJCOPYLIBFLAGS is used to strip the symbols because it was not
+# done above.
( ${OBJCOPY} --only-keep-debug ${_LIB.so.full} ${_LIB.so.debug} \
&& ${OBJCOPY} ${OBJCOPYLIBFLAGS} --strip-debug -p -R .gnu_debuglink \
--add-gnu-debuglink=${_LIB.so.debug} ${_LIB.so.full} \