Since the objcopy -x removes debugging symbols, delay that if we are building

debugging libraries and do the stripping with the debug symbol separation
step.
This commit is contained in:
christos 2014-04-09 19:23:09 +00:00
parent 5512cc69f8
commit cb8da48e03
1 changed files with 4 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.lib.mk,v 1.350 2014/04/09 16:29:08 christos Exp $
# $NetBSD: bsd.lib.mk,v 1.351 2014/04/09 19:23:09 christos Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.include <bsd.init.mk>
@ -622,7 +622,9 @@ ${_LIB.so.full}: ${SOLIB} ${DPADD} ${DPLIBC} \
${_LDFLAGS.${_LIB}} -o ${.TARGET} ${_LIBLDOPTS} \
-Wl,--whole-archive ${SOLIB} \
-Wl,--no-whole-archive ${_LDADD.${_LIB}}
.if !defined(_LIB.so.debug)
${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
.endif
# We don't use INSTALL_SYMLINK here because this is just
# happening inside the build directory/objdir. XXX Why does
# this spend so much effort on libraries that aren't live??? XXX
@ -641,7 +643,7 @@ ${_LIB.so.full}: ${SOLIB} ${DPADD} ${DPLIBC} \
${_LIB.so.debug}: ${_LIB.so.full}
${_MKTARGET_CREATE}
( ${OBJCOPY} --only-keep-debug ${_LIB.so.full} ${_LIB.so.debug} \
&& ${OBJCOPY} --strip-debug -p -R .gnu_debuglink \
&& ${OBJCOPY} ${OBJCOPYLIBFLAGS} --strip-debug -p -R .gnu_debuglink \
--add-gnu-debuglink=${_LIB.so.debug} ${_LIB.so.full} \
) || (rm -f ${.TARGET}; false)
.endif