Module Name: src
Committed By: joerg
Date: Thu Aug 14 18:39:39 UTC 2014
Modified Files:
src/share/mk: bsd.sys.mk
src/sys/arch/aarch64/conf: Makefile.aarch64
src/sys/arch/arm/conf: Makefile.arm
Log Message:
Use wildcards for stripping/preserving the mapping symbols on ARM and
AArch64. LLVM creates unique symbols in each file of the form $a.n etc.
To generate a diff of this commit:
cvs rdiff -u -r1.243 -r1.244 src/share/mk/bsd.sys.mk
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/aarch64/conf/Makefile.aarch64
cvs rdiff -u -r1.42 -r1.43 src/sys/arch/arm/conf/Makefile.arm
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.sys.mk
diff -u src/share/mk/bsd.sys.mk:1.243 src/share/mk/bsd.sys.mk:1.244
--- src/share/mk/bsd.sys.mk:1.243 Thu Aug 14 15:14:45 2014
+++ src/share/mk/bsd.sys.mk Thu Aug 14 18:39:38 2014
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.sys.mk,v 1.243 2014/08/14 15:14:45 matt Exp $
+# $NetBSD: bsd.sys.mk,v 1.244 2014/08/14 18:39:38 joerg Exp $
#
# Build definitions used for NetBSD source tree builds.
@@ -261,10 +261,10 @@ YFLAGS+= ${YPREFIX:D-p${YPREFIX}} ${YHEA
# Objcopy
.if ${MACHINE_ARCH} == aarch64eb
# AARCH64 big endian needs to preserve $x/$d symbols for the linker.
-OBJCOPYLIBFLAGS_EXTRA=-K '\$x' -K '\$d'
+OBJCOPYLIBFLAGS_EXTRA=-w -K '[$$][dx]' -K '[$$][dx]\.*'
.elif !empty(MACHINE_ARCH:M*arm*eb)
# ARM big endian needs to preserve $a/$d/$t symbols for the linker.
-OBJCOPYLIBFLAGS_EXTRA=-K '\$a' -K '\$d' -K '\$t'
+OBJCOPYLIBFLAGS_EXTRA=-w -K '[$$][adt]' -K '[$$][adt]\.*'
.endif
OBJCOPYLIBFLAGS?=${"${.TARGET:M*.po}" != "":?-X:-x} ${OBJCOPYLIBFLAGS_EXTRA}
Index: src/sys/arch/aarch64/conf/Makefile.aarch64
diff -u src/sys/arch/aarch64/conf/Makefile.aarch64:1.1 src/sys/arch/aarch64/conf/Makefile.aarch64:1.2
--- src/sys/arch/aarch64/conf/Makefile.aarch64:1.1 Sun Aug 10 05:47:37 2014
+++ src/sys/arch/aarch64/conf/Makefile.aarch64 Thu Aug 14 18:39:39 2014
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.aarch64,v 1.1 2014/08/10 05:47:37 matt Exp $
+# $NetBSD: Makefile.aarch64,v 1.2 2014/08/14 18:39:39 joerg Exp $
# Makefile for NetBSD
#
@@ -69,8 +69,8 @@ LINKFLAGS_NORMAL+= -T ${LDSCRIPT}
# with ddb. Do it differently if 'makeoptions DEBUG="-g"' was specified.
.if !defined(DEBUG) || empty(DEBUG:M-g*)
SYSTEM_LD_TAIL?= ${SYSTEM_LD_TAIL_DBSYM}; \
- ${OBJCOPY} --strip-symbol='$$k' \
- --strip-symbol='$$d' $@ ;\
+ ${OBJCOPY} -w --strip-symbol='[$$][dx]' \
+ --strip-symbol='[$$][dx]\.*' $@ ;\
${SIZE} $@; chmod 755 $@
.else
STRIPFLAGS=-g --strip-symbol='$$x' --strip-symbol='$$d'
Index: src/sys/arch/arm/conf/Makefile.arm
diff -u src/sys/arch/arm/conf/Makefile.arm:1.42 src/sys/arch/arm/conf/Makefile.arm:1.43
--- src/sys/arch/arm/conf/Makefile.arm:1.42 Sun Mar 2 13:21:59 2014
+++ src/sys/arch/arm/conf/Makefile.arm Thu Aug 14 18:39:39 2014
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.arm,v 1.42 2014/03/02 13:21:59 joerg Exp $
+# $NetBSD: Makefile.arm,v 1.43 2014/08/14 18:39:39 joerg Exp $
# Makefile for NetBSD
#
@@ -83,9 +83,8 @@ LINKFLAGS_NORMAL= -X
# with ddb. Do it differently if 'makeoptions DEBUG="-g"' was specified.
.if !defined(DEBUG) || empty(DEBUG:M-g*)
SYSTEM_LD_TAIL?= ${SYSTEM_LD_TAIL_DBSYM} ; \
- ${OBJCOPY} --strip-symbol='$$a' \
- --strip-symbol='$$t' \
- --strip-symbol='$$d' $@ ;\
+ ${OBJCOPY} --wildcard --strip-symbol='[$$][atd]' \
+ --strip-symbol='[$$][atd]\.*' $@; \
${SIZE} $@; chmod 755 $@
.else
STRIPFLAGS=-g --strip-symbol='$$a' --strip-symbol='$$t' --strip-symbol='$$d'