Date: Sat, 30 Mar 2013 10:10:39 +0200 From: Andriy Gapon <avg@FreeBSD.org> To: freebsd-hackers@FreeBSD.org, toolchain@FreeBSD.org Subject: clang: -mno-omit-leaf-frame-pointer Message-ID: <51569DFF.5080708@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
It seems that, unlike gcc, for clang -fno-omit-frame-pointer does not imply
-mno-omit-leaf-frame-pointer. This is probably a bug.
Meanwhile I would like to propose the following amd64-specific patch. Perhaps
the same type of change would be useful for powerpc as well.
I would like this change primarily for DTrace (fbt), but other
debugging/profiling code may benefit from it as well.
I chose to make -mno-omit-leaf-frame-pointer not conditional on clang, because
with gcc it is just a nop (i.e. it doesn't hurt anything).
--- a/sys/conf/Makefile.amd64
+++ b/sys/conf/Makefile.amd64
@@ -32,7 +32,7 @@ S= ../../..
.include "$S/conf/kern.pre.mk"
.if !empty(DDB_ENABLED) || !empty(DTR_ENABLED) || !empty(HWPMC_ENABLED)
-CFLAGS+= -fno-omit-frame-pointer
+CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
.endif
MKMODULESENV+= MACHINE=amd64
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index f0d3d4d..7eaba85 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -122,7 +122,7 @@ LDFLAGS+= -d -warn-common
CFLAGS+= ${DEBUG_FLAGS}
.if ${MACHINE_CPUARCH} == amd64
-CFLAGS+= -fno-omit-frame-pointer
+CFLAGS+= -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
.endif
.if ${MACHINE_CPUARCH} == powerpc
--
Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51569DFF.5080708>
