summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Urlichs <smurf@smurf.noris.de>2005-06-23 09:10:05 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-23 18:45:30 +0200
commit0030cbf06c669b65e124414af51b5010fc53b760 (patch)
treeb7e57d9c8131590a7cbdd2c20dc82954697c485b
parent[PATCH] Optimize sys_times for a single thread process (diff)
downloadlinux-0030cbf06c669b65e124414af51b5010fc53b760.tar.xz
linux-0030cbf06c669b65e124414af51b5010fc53b760.zip
[PATCH] Turn off sibling call optimization w/ frame pointers
Frame pointers are supposed to enable debuggers to reliably tell where a call comes from. That is defeated by GCC's sibling call optimization (aka tail recursion elimination). This patch turns this optimization off when compiling with frame pointers. Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 0d1e74d50067..fad349724e99 100644
--- a/Makefile
+++ b/Makefile
@@ -518,7 +518,7 @@ CFLAGS += $(call add-align,CONFIG_CC_ALIGN_LOOPS,-loops)
CFLAGS += $(call add-align,CONFIG_CC_ALIGN_JUMPS,-jumps)
ifdef CONFIG_FRAME_POINTER
-CFLAGS += -fno-omit-frame-pointer
+CFLAGS += -fno-omit-frame-pointer $(call cc-option,-fno-optimize-sibling-calls,)
else
CFLAGS += -fomit-frame-pointer
endif