Samuel Thibault
2008-Mar-06 15:55 UTC
[Xen-devel] [PATCH] 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 Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> diff -r fb74347d80c3 Config.mk --- a/Config.mk Wed Mar 05 12:20:40 2008 +0000 +++ b/Config.mk Thu Mar 06 15:52:14 2008 +0000 @@ -55,7 +55,7 @@ endef endef ifeq ($(debug),y) -CFLAGS += -g +CFLAGS += -g -fno-omit-frame-pointer endif CFLAGS += -fno-strict-aliasing diff -r fb74347d80c3 extras/mini-os/minios.mk --- a/extras/mini-os/minios.mk Wed Mar 05 12:20:40 2008 +0000 +++ b/extras/mini-os/minios.mk Thu Mar 06 15:52:14 2008 +0000 @@ -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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Samuel Thibault
2008-Mar-06 16:01 UTC
[Xen-devel] [PATCH2] Don''t optimize function calls with -g
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 debuggingEven 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 Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> diff -r fb74347d80c3 Config.mk --- a/Config.mk Wed Mar 05 12:20:40 2008 +0000 +++ b/Config.mk Thu Mar 06 15:57:53 2008 +0000 @@ -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 diff -r fb74347d80c3 extras/mini-os/minios.mk --- a/extras/mini-os/minios.mk Wed Mar 05 12:20:40 2008 +0000 +++ b/extras/mini-os/minios.mk Thu Mar 06 15:57:53 2008 +0000 @@ -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 Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2008-Mar-07 13:36 UTC
Re: [Xen-devel] [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 On 6/3/08 16:01, "Samuel Thibault" <samuel.thibault@eu.citrix.com> wrote:> 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 > > Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> > > diff -r fb74347d80c3 Config.mk > --- a/Config.mk Wed Mar 05 12:20:40 2008 +0000 > +++ b/Config.mk Thu Mar 06 15:57:53 2008 +0000 > @@ -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 > diff -r fb74347d80c3 extras/mini-os/minios.mk > --- a/extras/mini-os/minios.mk Wed Mar 05 12:20:40 2008 +0000 > +++ b/extras/mini-os/minios.mk Thu Mar 06 15:57:53 2008 +0000 > @@ -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 > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Samuel Thibault
2008-Mar-07 14:21 UTC
Re: [Xen-devel] [PATCH2] Don''t optimize function calls with -g
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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Samuel Thibault
2008-Mar-07 14:58 UTC
[Xen-devel] [PATCH3] Don''t optimize function calls with -g
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.> 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. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> diff -r fb74347d80c3 config/StdGNU.mk --- a/config/StdGNU.mk Wed Mar 05 12:20:40 2008 +0000 +++ b/config/StdGNU.mk Fri Mar 07 14:54:43 2008 +0000 @@ -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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel