Use -fno-omit-frame-pointer in addition to -g
PATCH 1/1 Use -fno-omit-frame-pointer in addition to -g
Use -fno-omit-frame-pointer in addition to -g as that permits to use simple stack walk while debugging
Config.mk +1 -1
@@ -55,7 +55,7 @@ endef endef ifeq ($(debug),y) -CFLAGS += -g +CFLAGS += -g -fno-omit-frame-pointer endif CFLAGS += -fno-strict-aliasing
extras/mini-os/minios.mk +1 -1
@@ -15,7 +15,7 @@ DEF_LDFLAGS = DEF_LDFLAGS = ifeq ($(debug),y) -DEF_CFLAGS += -g +DEF_CFLAGS += -g -fno-omit-frame-pointer else DEF_CFLAGS += -O3 endif
[PATCH2] Don't optimize function calls with -g
Quoted 2 lines · Samuel Thibault, le Thu 06 Mar 2008 15:55:09 +0000, a écrit :
Use -fno-omit-frame-pointer in addition to -g as that permits to use simple stack walk while debugging
Even better:
Don't optimize function calls with -g
-fno-omit-frame-pointer to easily walk the stack
-fno-optimize-sibling-calls to not miss a step
Config.mk +1 -1
@@ -55,7 +55,7 @@ endef endef ifeq ($(debug),y) -CFLAGS += -g +CFLAGS += -g -fno-omit-frame-pointer -fno-optimize-sibling-calls endif CFLAGS += -fno-strict-aliasing
extras/mini-os/minios.mk +1 -1
@@ -15,7 +15,7 @@ DEF_LDFLAGS = DEF_LDFLAGS = ifeq ($(debug),y) -DEF_CFLAGS += -g +DEF_CFLAGS += -g -fno-omit-frame-pointer -fno-optimize-sibling-calls else DEF_CFLAGS += -O3 endif
Re: [PATCH2] Don't optimize function calls with -g
Should be in config/StdGNU.mk and config/SunOS.mk. Is optimize-sibling-calls a gcc option that is supported in all our supported gcc versions? Note that we do CFLAGS ?= ... in StdGNU.mk and SunOS.mk right now. Probably these should be changed to +=. That still allows extra CFLAGS to be passed in on the make command line, but avoids the weird subservience of these debug-related CFLAG additions.
Whether SunOS should really have different usage of omit-frame-pointer is open to argument. The Sun guys like to have frame pointers always, and it seems that is basically a general policy across Solaris binaries, so I let them have that difference.
-- Keir
Quoted 43 lines · Samuel Thibault
Quoted 2 lines · Samuel Thibault, le Thu 06 Mar 2008 15:55:09 +0000, a écrit :
Use -fno-omit-frame-pointer in addition to -g as that permits to use simple stack walk while debugging
Even better:
Don't optimize function calls with -g
(quoted diff) +0
-2-fno-omit-frame-pointer to easily walk the stack -fno-optimize-sibling-calls to not miss a stepSigned-off-by Samuel Thibault <[email protected]>diff -r
fb74347d80c3Config.mkConfig.mk Thu Mar 06 15:57:53 2008 +0000 renamed from Config.mk Wed Mar 05 12:20:40 2008 +0000 +1
-1@@ -55,7 +55,7 @@ endef endef ifeq ($(debug),y) -CFLAGS += -g +CFLAGS += -g -fno-omit-frame-pointer -fno-optimize-sibling-calls endif CFLAGS += -fno-strict-aliasingdiff -r
fb74347d80c3extras/mini-os/minios.mkextras/mini-os/minios.mk Thu Mar 06 15:57:53 2008 +0000 renamed from extras/mini-os/minios.mk Wed Mar 05 12:20:40 2008 +0000 +1
-1@@ -15,7 +15,7 @@ DEF_LDFLAGS = DEF_LDFLAGS = ifeq ($(debug),y) -DEF_CFLAGS += -g +DEF_CFLAGS += -g -fno-omit-frame-pointer -fno-optimize-sibling-calls else DEF_CFLAGS += -O3 endif_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel
Re: [PATCH2] Don't optimize function calls with -g
Quoted 2 lines · Keir Fraser, le Fri 07 Mar 2008 13:36:31 +0000, a écrit :
Is optimize-sibling-calls a gcc option that is supported in all our supported gcc versions?
It is available at least from gcc 3.3
Samuel
[PATCH3] Don't optimize function calls with -g
In reply to Keir FraserQuoted 2 lines · Keir Fraser, le Fri 07 Mar 2008 13:36:31 +0000, a écrit :
Note that we do CFLAGS ?= ... in StdGNU.mk and SunOS.mk right now. Probably these should be changed to +=.
Ooh, that's why I missed the already existing -fno-omit-frame-pointer there.
Quoted 2 lines
Whether SunOS should really have different usage of omit-frame-pointer is open to argument.
Ok, I'll leave it to people who actually run a SunOS system :)
Don't optimize function calls on GNU systems with debug=y by enforcing the addition of -fno-omit-frame-pointer, and adding -fno-optimize-sibling-calls.
config/StdGNU.mk +1 -1
@@ -45,5 +45,5 @@ CFLAGS ?= -O2 -fomit-frame-pointer CFLAGS ?= -O2 -fomit-frame-pointer else # Less than -O1 produces bad code and large stack frames -CFLAGS ?= -O1 -fno-omit-frame-pointer +CFLAGS += -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls endif