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'

Reply via email to