From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: avorontsov@ru.mvista.com
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
Steven Rostedt <srostedt@redhat.com>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@elte.hu>,
Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [PATCH 1/3] powerpc, Makefile: Make it possible to safely select CONFIG_FRAME_POINTER
Date: Mon, 30 Mar 2009 09:54:50 +1100 [thread overview]
Message-ID: <1238367290.20197.113.camel@pasglop> (raw)
In-Reply-To: <20090328104857.GA10897@oksana.dev.rtsoft.ru>
On Sat, 2009-03-28 at 13:48 +0300, Anton Vorontsov wrote:
> On Fri, Mar 20, 2009 at 11:49:29PM -0400, Steven Rostedt wrote:
> > Ben,
> >
> > Can you ACK this patch? Or even take it in your tree?
>
> Benjamin, have you had a chance to look into this? Sam, could
> you also take a look?
Those patches look ok. I'm a little bit surprised that -mno-sched-epilog
isn't needed, gcc weirdness never ceases to amaze me, but the
Makefile/Kconfig churning isn't for me to judge. If Sam is happy, then
let's merge it.
Ben.
> Thanks!
>
> > On Fri, 2009-03-20 at 19:44 +0300, Anton Vorontsov wrote:
> > > This patch introduces ARCH_HAS_NORMAL_FRAME_POINTERS Kconfig symbol.
> > > When defined, the top level Makefile won't add -fno-omit-frame-pointer
> > > cflag (the flag is useless in PowerPC kernels, and also makes gcc
> > > generate wrong code).
> > >
> > > Also move ARCH_WANT_FRAME_POINTERS's help text.
> > >
> > > Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> > > ---
> > > Makefile | 7 +++++--
> > > arch/powerpc/Kconfig | 1 +
> > > lib/Kconfig.debug | 16 ++++++++++------
> > > 3 files changed, 16 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/Makefile b/Makefile
> > > index 46c04c5..bf41b05 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -538,9 +538,12 @@ 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
> > > + ifndef ARCH_HAS_NORMAL_FRAME_POINTERS
> > > + KBUILD_CFLAGS += -fno-omit-frame-pointer
> > > + endif
> > > else
> > > -KBUILD_CFLAGS += -fomit-frame-pointer
> > > + KBUILD_CFLAGS += -fomit-frame-pointer
> > > endif
> > >
> > > ifdef CONFIG_DEBUG_INFO
> > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > > index 97f9a64..4587e66 100644
> > > --- a/arch/powerpc/Kconfig
> > > +++ b/arch/powerpc/Kconfig
> > > @@ -113,6 +113,7 @@ config PPC
> > > select HAVE_FUNCTION_TRACER
> > > select HAVE_FUNCTION_GRAPH_TRACER
> > > select ARCH_WANT_OPTIONAL_GPIOLIB
> > > + select ARCH_HAS_NORMAL_FRAME_POINTERS
> > > select HAVE_IDE
> > > select HAVE_IOREMAP_PROT
> > > select HAVE_EFFICIENT_UNALIGNED_ACCESS
> > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> > > index 4b63b6b..fc8cd1f 100644
> > > --- a/lib/Kconfig.debug
> > > +++ b/lib/Kconfig.debug
> > > @@ -661,20 +661,24 @@ config DEBUG_NOTIFIERS
> > > This is a relatively cheap check but if you care about maximum
> > > performance, say N.
> > >
> > > -#
> > > -# Select this config option from the architecture Kconfig, if it
> > > -# it is preferred to always offer frame pointers as a config
> > > -# option on the architecture (regardless of KERNEL_DEBUG):
> > > -#
> > > config ARCH_WANT_FRAME_POINTERS
> > > bool
> > > help
> > > + Select this config option from the architecture Kconfig, if it
> > > + it is preferred to always offer frame pointers as a config
> > > + option on the architecture (regardless of KERNEL_DEBUG).
> > > +
> > > +config ARCH_HAS_NORMAL_FRAME_POINTERS
> > > + bool
> > > + help
> > > + Architectures should select this symbol if their ABI implies
> > > + having a frame pointer.
> > >
> > > config FRAME_POINTER
> > > bool "Compile the kernel with frame pointers"
> > > depends on DEBUG_KERNEL && \
> > > (CRIS || M68K || M68KNOMMU || FRV || UML || S390 || \
> > > - AVR32 || SUPERH || BLACKFIN || MN10300) || \
> > > + AVR32 || SUPERH || BLACKFIN || MN10300 || PPC) || \
> > > ARCH_WANT_FRAME_POINTERS
> > > default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS
> > > help
> >
>
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: avorontsov@ru.mvista.com
Cc: Steven Rostedt <srostedt@redhat.com>, Ingo Molnar <mingo@elte.hu>,
Sam Ravnborg <sam@ravnborg.org>,
Paul Mackerras <paulus@samba.org>,
linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] powerpc, Makefile: Make it possible to safely select CONFIG_FRAME_POINTER
Date: Mon, 30 Mar 2009 09:54:50 +1100 [thread overview]
Message-ID: <1238367290.20197.113.camel@pasglop> (raw)
In-Reply-To: <20090328104857.GA10897@oksana.dev.rtsoft.ru>
On Sat, 2009-03-28 at 13:48 +0300, Anton Vorontsov wrote:
> On Fri, Mar 20, 2009 at 11:49:29PM -0400, Steven Rostedt wrote:
> > Ben,
> >
> > Can you ACK this patch? Or even take it in your tree?
>
> Benjamin, have you had a chance to look into this? Sam, could
> you also take a look?
Those patches look ok. I'm a little bit surprised that -mno-sched-epilog
isn't needed, gcc weirdness never ceases to amaze me, but the
Makefile/Kconfig churning isn't for me to judge. If Sam is happy, then
let's merge it.
Ben.
> Thanks!
>
> > On Fri, 2009-03-20 at 19:44 +0300, Anton Vorontsov wrote:
> > > This patch introduces ARCH_HAS_NORMAL_FRAME_POINTERS Kconfig symbol.
> > > When defined, the top level Makefile won't add -fno-omit-frame-pointer
> > > cflag (the flag is useless in PowerPC kernels, and also makes gcc
> > > generate wrong code).
> > >
> > > Also move ARCH_WANT_FRAME_POINTERS's help text.
> > >
> > > Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> > > ---
> > > Makefile | 7 +++++--
> > > arch/powerpc/Kconfig | 1 +
> > > lib/Kconfig.debug | 16 ++++++++++------
> > > 3 files changed, 16 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/Makefile b/Makefile
> > > index 46c04c5..bf41b05 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -538,9 +538,12 @@ 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
> > > + ifndef ARCH_HAS_NORMAL_FRAME_POINTERS
> > > + KBUILD_CFLAGS += -fno-omit-frame-pointer
> > > + endif
> > > else
> > > -KBUILD_CFLAGS += -fomit-frame-pointer
> > > + KBUILD_CFLAGS += -fomit-frame-pointer
> > > endif
> > >
> > > ifdef CONFIG_DEBUG_INFO
> > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > > index 97f9a64..4587e66 100644
> > > --- a/arch/powerpc/Kconfig
> > > +++ b/arch/powerpc/Kconfig
> > > @@ -113,6 +113,7 @@ config PPC
> > > select HAVE_FUNCTION_TRACER
> > > select HAVE_FUNCTION_GRAPH_TRACER
> > > select ARCH_WANT_OPTIONAL_GPIOLIB
> > > + select ARCH_HAS_NORMAL_FRAME_POINTERS
> > > select HAVE_IDE
> > > select HAVE_IOREMAP_PROT
> > > select HAVE_EFFICIENT_UNALIGNED_ACCESS
> > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> > > index 4b63b6b..fc8cd1f 100644
> > > --- a/lib/Kconfig.debug
> > > +++ b/lib/Kconfig.debug
> > > @@ -661,20 +661,24 @@ config DEBUG_NOTIFIERS
> > > This is a relatively cheap check but if you care about maximum
> > > performance, say N.
> > >
> > > -#
> > > -# Select this config option from the architecture Kconfig, if it
> > > -# it is preferred to always offer frame pointers as a config
> > > -# option on the architecture (regardless of KERNEL_DEBUG):
> > > -#
> > > config ARCH_WANT_FRAME_POINTERS
> > > bool
> > > help
> > > + Select this config option from the architecture Kconfig, if it
> > > + it is preferred to always offer frame pointers as a config
> > > + option on the architecture (regardless of KERNEL_DEBUG).
> > > +
> > > +config ARCH_HAS_NORMAL_FRAME_POINTERS
> > > + bool
> > > + help
> > > + Architectures should select this symbol if their ABI implies
> > > + having a frame pointer.
> > >
> > > config FRAME_POINTER
> > > bool "Compile the kernel with frame pointers"
> > > depends on DEBUG_KERNEL && \
> > > (CRIS || M68K || M68KNOMMU || FRV || UML || S390 || \
> > > - AVR32 || SUPERH || BLACKFIN || MN10300) || \
> > > + AVR32 || SUPERH || BLACKFIN || MN10300 || PPC) || \
> > > ARCH_WANT_FRAME_POINTERS
> > > default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS
> > > help
> >
>
next prev parent reply other threads:[~2009-03-29 22:55 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-20 16:44 [PATCH v4 0/3] Tracers vs. CALLER_ADDR on PowerPC Anton Vorontsov
2009-03-20 16:44 ` Anton Vorontsov
2009-03-20 16:44 ` [PATCH 1/3] powerpc, Makefile: Make it possible to safely select CONFIG_FRAME_POINTER Anton Vorontsov
2009-03-20 16:44 ` Anton Vorontsov
2009-03-21 3:49 ` Steven Rostedt
2009-03-21 3:49 ` Steven Rostedt
2009-03-28 10:48 ` Anton Vorontsov
2009-03-28 10:48 ` Anton Vorontsov
2009-03-29 22:54 ` Benjamin Herrenschmidt [this message]
2009-03-29 22:54 ` Benjamin Herrenschmidt
2009-03-30 4:36 ` Sam Ravnborg
2009-03-30 4:36 ` Sam Ravnborg
2009-04-05 21:07 ` Sam Ravnborg
2009-04-05 21:07 ` Sam Ravnborg
2009-04-13 15:51 ` Steven Rostedt
2009-04-13 15:51 ` Steven Rostedt
2009-05-02 0:14 ` Anton Vorontsov
2009-05-02 0:14 ` Anton Vorontsov
2009-03-20 16:44 ` [PATCH 2/3] powerpc: Remove -fno-omit-frame-pointer workarounds Anton Vorontsov
2009-03-20 16:44 ` Anton Vorontsov
2009-03-21 3:50 ` Steven Rostedt
2009-03-21 3:50 ` Steven Rostedt
2009-03-20 16:44 ` [PATCH 3/3] tracing: Tracers that use CALLER_ADDR macros should select FRAME_POINTER Anton Vorontsov
2009-03-20 16:44 ` Anton Vorontsov
2009-03-20 16:52 ` [PATCH v4 0/3] Tracers vs. CALLER_ADDR on PowerPC Anton Vorontsov
2009-03-20 16:52 ` Anton Vorontsov
-- strict thread matches above, loose matches on Subject: below --
2009-05-02 0:13 [PATCH v5 " Anton Vorontsov
2009-05-02 0:14 ` [PATCH 1/3] powerpc, Makefile: Make it possible to safely select CONFIG_FRAME_POINTER Anton Vorontsov
2009-05-02 0:14 ` Anton Vorontsov
2009-05-02 19:48 ` Segher Boessenkool
2009-05-02 19:48 ` Segher Boessenkool
2009-05-03 2:04 ` Steven Rostedt
2009-05-03 2:04 ` Steven Rostedt
2009-05-05 7:56 ` Segher Boessenkool
2009-05-05 7:56 ` Segher Boessenkool
2009-05-05 13:33 ` Steven Rostedt
2009-05-05 13:33 ` Steven Rostedt
2009-05-05 13:51 ` Segher Boessenkool
2009-05-05 13:51 ` Segher Boessenkool
2009-05-05 23:11 ` Steven Rostedt
2009-05-05 23:11 ` Steven Rostedt
2009-05-18 4:14 ` Benjamin Herrenschmidt
2009-05-18 4:14 ` Benjamin Herrenschmidt
2009-05-18 19:55 ` Segher Boessenkool
2009-05-18 19:55 ` Segher Boessenkool
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1238367290.20197.113.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=avorontsov@ru.mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=sam@ravnborg.org \
--cc=srostedt@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.