Module Name: src
Committed By: joerg
Date: Mon Aug 12 17:15:46 UTC 2013
Modified Files:
src/lib/libpthread: Makefile
src/libexec/ld.elf_so: Makefile
Log Message:
Some architectures can't create unwind tables without the frame pointer,
so don't use -fomit-frame-pointer on those.
To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 src/lib/libpthread/Makefile
cvs rdiff -u -r1.121 -r1.122 src/libexec/ld.elf_so/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libpthread/Makefile
diff -u src/lib/libpthread/Makefile:1.80 src/lib/libpthread/Makefile:1.81
--- src/lib/libpthread/Makefile:1.80 Thu Mar 21 16:49:11 2013
+++ src/lib/libpthread/Makefile Mon Aug 12 17:15:46 2013
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.80 2013/03/21 16:49:11 christos Exp $
+# $NetBSD: Makefile,v 1.81 2013/08/12 17:15:46 joerg Exp $
#
WARNS?= 5
@@ -75,21 +75,28 @@ SRCS+= pthread_compat.c
ALIGN_FUNCTIONS= ${${ACTIVE_CC} == "gcc":? -falign-functions=32 :}
+.if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000" || \
+ ${MACHINE_CPU} == "sh3" || ${MACHINE_ARCH} == "vax"
+OMIT_FRAME_POINTER=
+.else
+OMIT_FRAME_POINTER= -fomit-frame-pointer
+.endif
+
# The TSD routines are used in the implementation of profiling, and so
# can't be profiled themselves.
-COPTS.pthread_specific.c+= -fomit-frame-pointer ${ALIGN_FUNCTIONS}
+COPTS.pthread_specific.c+= ${OMIT_FRAME_POINTER} ${ALIGN_FUNCTIONS}
pthread_specific.po: pthread_specific.o
${_MKTARGET_CREATE}
cp pthread_specific.o pthread_specific.po
# Internal spinlock routines are performance critical. Don't profile them,
# it's incompatibile with -fomit-frame-pointer.
-COPTS.pthread_lock.c+= -fomit-frame-pointer ${ALIGN_FUNCTIONS}
+COPTS.pthread_lock.c+= ${OMIT_FRAME_POINTER} ${ALIGN_FUNCTIONS}
pthread_lock.po: pthread_lock.o
${_MKTARGET_CREATE}
cp pthread_lock.o pthread_lock.po
-COPTS.pthread_mutex.c+= -fomit-frame-pointer ${ALIGN_FUNCTIONS}
+COPTS.pthread_mutex.c+= ${OMIT_FRAME_POINTER} ${ALIGN_FUNCTIONS}
pthread_mutex.po: pthread_mutex.o
${_MKTARGET_CREATE}
cp pthread_mutex.o pthread_mutex.po
Index: src/libexec/ld.elf_so/Makefile
diff -u src/libexec/ld.elf_so/Makefile:1.121 src/libexec/ld.elf_so/Makefile:1.122
--- src/libexec/ld.elf_so/Makefile:1.121 Thu Jul 18 21:58:13 2013
+++ src/libexec/ld.elf_so/Makefile Mon Aug 12 17:15:46 2013
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.121 2013/07/18 21:58:13 matt Exp $
+# $NetBSD: Makefile,v 1.122 2013/08/12 17:15:46 joerg Exp $
#
# NOTE: when changing ld.so, ensure that ldd still compiles.
#
@@ -98,7 +98,11 @@ CPPFLAGS+= -DCOMBRELOC
CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libexecinfo
.endif
#DBG= -g
-COPTS+= -O3 -fomit-frame-pointer
+COPTS+= -O3
+
+.if ${MACHINE_ARCH} != "m68k" && ${MACHINE_CPU} != "sh3" && ${MACHINE_ARCH} != "vax"
+COPTS+= -fomit-frame-pointer
+.endif
.if ${LDELFSO_MACHINE_ARCH} == "i386" || ${LDELFSO_MACHINE_ARCH} == "x86_64"
COPTS+= -mno-3dnow -mno-mmx -mno-sse -mno-sse2 -mno-sse3