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
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
[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
* 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
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