Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/share/mk Using -Wl, -x breaks build ARM BE8 shared libraries ...



details:   https://anonhg.NetBSD.org/src/rev/e836ff7bbd0c
branches:  trunk
changeset: 328472:e836ff7bbd0c
user:      matt <matt%NetBSD.org@localhost>
date:      Fri Apr 04 05:10:15 2014 +0000

description:
Using -Wl,-x breaks build ARM BE8 shared libraries by striping the $a/$d/$t
symbols before the linker can use them.  Instead do ${OBJCOPY} -x ${.TARGET}
afterwards.

diffstat:

 share/mk/bsd.lib.mk |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (31 lines):

diff -r 4561f2acf296 -r e836ff7bbd0c share/mk/bsd.lib.mk
--- a/share/mk/bsd.lib.mk       Fri Apr 04 01:41:05 2014 +0000
+++ b/share/mk/bsd.lib.mk       Fri Apr 04 05:10:15 2014 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: bsd.lib.mk,v 1.348 2014/03/09 18:00:51 christos Exp $
+#      $NetBSD: bsd.lib.mk,v 1.349 2014/04/04 05:10:15 matt Exp $
 #      @(#)bsd.lib.mk  8.3 (Berkeley) 4/22/94
 
 .include <bsd.init.mk>
@@ -442,7 +442,7 @@
        ${_MKTARGET_COMPILE}
        ${COMPILE.c} -MD --combine ${.ALLSRC} -o ${.TARGET}
 .if defined(LIBSTRIPOBJS)
-       ${OBJCOPY} -x ${.TARGET}
+       ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 CLEANFILES+=   ${_LIB}_combine.d
@@ -618,10 +618,11 @@
     ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}
        ${_MKTARGET_BUILD}
        rm -f ${.TARGET}
-       ${LIBCC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} \
+       ${LIBCC} ${LDLIBC} -shared ${SHLIB_SHFLAGS} \
            ${_LDFLAGS.${_LIB}} -o ${.TARGET} ${_LIBLDOPTS} \
            -Wl,--whole-archive ${SOLIB} \
            -Wl,--no-whole-archive ${_LDADD.${_LIB}}
+       ${OBJCOPY} -x ${.TARGET}
 #  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



Home | Main Index | Thread Index | Old Index