2009-06-16 20:20:35

by Anton Vorontsov

[permalink] [raw]
Subject: [PATCH RFC 1/2] Makefile: Never use -fno-omit-frame-pointer

According to Segher Boessenkool and GCC manual, -fomit-frame-pointer
is only the default when optimising on archs/ABIs where it doesn't
hinder debugging and -pg. So, we do not get it by default on x86,
not at any optimisation level.

On the other hand, *using* -fno-omit-frame-pointer causes gcc to
produce buggy code on PowerPC targets.

If Segher and GCC manual are right, this patch should be a no-op
for all arches except PowerPC, where the patch fixes gcc issues.

Signed-off-by: Anton Vorontsov <[email protected]>
---

See this thread for more discussion:
http://osdir.com/ml/linux-kernel/2009-05/msg01754.html

p.s.
Obviously, I didn't test this patch on anything else but PPC32. ;-)

Segher, do you know if all GCC versions that we support for
building Linux are behaving the way that GCC manual describe?

Thanks,

Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index ea63667..70ad1ff 100644
--- a/Makefile
+++ b/Makefile
@@ -535,7 +535,7 @@ KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
endif

ifdef CONFIG_FRAME_POINTER
-KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
+KBUILD_CFLAGS += -fno-optimize-sibling-calls
else
KBUILD_CFLAGS += -fomit-frame-pointer
endif
--
1.6.3.1


2009-07-14 13:37:19

by Anton Vorontsov

[permalink] [raw]
Subject: Re: [PATCH RFC 1/2] Makefile: Never use -fno-omit-frame-pointer

On Wed, Jun 17, 2009 at 12:16:30AM +0400, Anton Vorontsov wrote:
> According to Segher Boessenkool and GCC manual, -fomit-frame-pointer
> is only the default when optimising on archs/ABIs where it doesn't
> hinder debugging and -pg. So, we do not get it by default on x86,
> not at any optimisation level.
>
> On the other hand, *using* -fno-omit-frame-pointer causes gcc to
> produce buggy code on PowerPC targets.
>
> If Segher and GCC manual are right, this patch should be a no-op
> for all arches except PowerPC, where the patch fixes gcc issues.
>
> Signed-off-by: Anton Vorontsov <[email protected]>
> ---
>
> See this thread for more discussion:
> http://osdir.com/ml/linux-kernel/2009-05/msg01754.html
>
> p.s.
> Obviously, I didn't test this patch on anything else but PPC32. ;-)
>
> Segher, do you know if all GCC versions that we support for
> building Linux are behaving the way that GCC manual describe?

No news is good news... Ingo, can we merge this into -tip for testing?

Thanks,

> Makefile | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ea63667..70ad1ff 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -535,7 +535,7 @@ KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> endif
>
> ifdef CONFIG_FRAME_POINTER
> -KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
> +KBUILD_CFLAGS += -fno-optimize-sibling-calls
> else
> KBUILD_CFLAGS += -fomit-frame-pointer
> endif
> --
> 1.6.3.1
>
> _______________________________________________
> Linuxppc-dev mailing list
> [email protected]
> https://lists.ozlabs.org/listinfo/linuxppc-dev

--
Anton Vorontsov
email: [email protected]
irc://irc.freenode.net/bd2

2009-07-14 13:51:03

by Segher Boessenkool

[permalink] [raw]
Subject: Re: [PATCH RFC 1/2] Makefile: Never use -fno-omit-frame-pointer

[Sorry for not replying earlier, somehow I missed this mail]

>> On the other hand, *using* -fno-omit-frame-pointer causes gcc to
>> produce buggy code on PowerPC targets.

It doesn't cause the problem, it only exposes it. And, of course,
only on certain GCC versions.

>> Segher, do you know if all GCC versions that we support for
>> building Linux are behaving the way that GCC manual describe?

I believe so, yes.


Segher

2009-07-18 12:03:06

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH RFC 1/2] Makefile: Never use -fno-omit-frame-pointer


* Anton Vorontsov <[email protected]> wrote:

> On Wed, Jun 17, 2009 at 12:16:30AM +0400, Anton Vorontsov wrote:
> > According to Segher Boessenkool and GCC manual, -fomit-frame-pointer
> > is only the default when optimising on archs/ABIs where it doesn't
> > hinder debugging and -pg. So, we do not get it by default on x86,
> > not at any optimisation level.
> >
> > On the other hand, *using* -fno-omit-frame-pointer causes gcc to
> > produce buggy code on PowerPC targets.
> >
> > If Segher and GCC manual are right, this patch should be a no-op
> > for all arches except PowerPC, where the patch fixes gcc issues.
> >
> > Signed-off-by: Anton Vorontsov <[email protected]>
> > ---
> >
> > See this thread for more discussion:
> > http://osdir.com/ml/linux-kernel/2009-05/msg01754.html
> >
> > p.s.
> > Obviously, I didn't test this patch on anything else but PPC32. ;-)
> >
> > Segher, do you know if all GCC versions that we support for
> > building Linux are behaving the way that GCC manual describe?
>
> No news is good news... Ingo, can we merge this into -tip for
> testing?

Changes to the top level Makefile should really go via Sam's kbuild
tree.

Ingo

2009-09-04 16:53:50

by Anton Vorontsov

[permalink] [raw]
Subject: Re: [PATCH RFC 1/2] Makefile: Never use -fno-omit-frame-pointer

On Sat, Jul 18, 2009 at 02:01:45PM +0200, Ingo Molnar wrote:
>
> * Anton Vorontsov <[email protected]> wrote:
>
> > On Wed, Jun 17, 2009 at 12:16:30AM +0400, Anton Vorontsov wrote:
> > > According to Segher Boessenkool and GCC manual, -fomit-frame-pointer
> > > is only the default when optimising on archs/ABIs where it doesn't
> > > hinder debugging and -pg. So, we do not get it by default on x86,
> > > not at any optimisation level.
> > >
> > > On the other hand, *using* -fno-omit-frame-pointer causes gcc to
> > > produce buggy code on PowerPC targets.
> > >
> > > If Segher and GCC manual are right, this patch should be a no-op
> > > for all arches except PowerPC, where the patch fixes gcc issues.
> > >
> > > Signed-off-by: Anton Vorontsov <[email protected]>
> > > ---
> > >
> > > See this thread for more discussion:
> > > http://osdir.com/ml/linux-kernel/2009-05/msg01754.html
> > >
> > > p.s.
> > > Obviously, I didn't test this patch on anything else but PPC32. ;-)
> > >
> > > Segher, do you know if all GCC versions that we support for
> > > building Linux are behaving the way that GCC manual describe?
> >
> > No news is good news... Ingo, can we merge this into -tip for
> > testing?
>
> Changes to the top level Makefile should really go via Sam's kbuild
> tree.

Sam, any thoughts about these patches?

Thanks!

--
Anton Vorontsov
email: [email protected]
irc://irc.freenode.net/bd2