From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org,
linuxppc-dev@ozlabs.org, Steven Rostedt <srostedt@redhat.com>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH 2/3] powerpc: Make it possible to safely select CONFIG_FRAME_POINTER
Date: Thu, 05 Feb 2009 11:31:29 +1100 [thread overview]
Message-ID: <1233793889.4612.33.camel@pasglop> (raw)
In-Reply-To: <20090204150838.GB30027@oksana.dev.rtsoft.ru>
On Wed, 2009-02-04 at 18:08 +0300, Anton Vorontsov wrote:
> Remove -fno-omit-frame-pointer flag from CFLAGS.
> Remove -fno-omit-frame-pointer workarounds.
But what about -pg -requires -fno-omit-frame-pointer ?
Ben.
> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
> arch/powerpc/Makefile | 10 ++++++----
> arch/powerpc/kernel/Makefile | 10 +++++-----
> arch/powerpc/platforms/powermac/Makefile | 2 +-
> lib/Kconfig.debug | 8 ++++----
> 4 files changed, 16 insertions(+), 14 deletions(-)
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 72d17f5..627aa7f 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -120,10 +120,12 @@ ifeq ($(CONFIG_6xx),y)
> KBUILD_CFLAGS += -mcpu=powerpc
> endif
>
> -# Work around a gcc code-gen bug with -fno-omit-frame-pointer.
> -ifeq ($(CONFIG_FUNCTION_TRACER),y)
> -KBUILD_CFLAGS += -mno-sched-epilog
> -endif
> +# Remove -fno-omit-frame-pointer flag. There are two reasons:
> +# 1. On powerpc we always have frame pointers.
> +# 2. Some gcc versions might generate wrong code with -fno-omit-frame-pointer
> +# flag. So, if for some reason you're going to remove this line, then add
> +# -mno-sched-epilog to workaround the gcc bug.
> +KBUILD_CFLAGS := $(subst -fno-omit-frame-pointer,,$(KBUILD_CFLAGS))
>
> cpu-as-$(CONFIG_4xx) += -Wa,-m405
> cpu-as-$(CONFIG_6xx) += -Wa,-maltivec
> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
> index 8d1a419..a97f215 100644
> --- a/arch/powerpc/kernel/Makefile
> +++ b/arch/powerpc/kernel/Makefile
> @@ -14,14 +14,14 @@ endif
>
> ifdef CONFIG_FUNCTION_TRACER
> # Do not trace early boot code
> -CFLAGS_REMOVE_cputable.o = -pg -mno-sched-epilog
> -CFLAGS_REMOVE_prom_init.o = -pg -mno-sched-epilog
> -CFLAGS_REMOVE_btext.o = -pg -mno-sched-epilog
> -CFLAGS_REMOVE_prom.o = -pg -mno-sched-epilog
> +CFLAGS_REMOVE_cputable.o = -pg
> +CFLAGS_REMOVE_prom_init.o = -pg
> +CFLAGS_REMOVE_btext.o = -pg
> +CFLAGS_REMOVE_prom.o = -pg
>
> ifdef CONFIG_DYNAMIC_FTRACE
> # dynamic ftrace setup.
> -CFLAGS_REMOVE_ftrace.o = -pg -mno-sched-epilog
> +CFLAGS_REMOVE_ftrace.o = -pg
> endif
>
> endif
> diff --git a/arch/powerpc/platforms/powermac/Makefile b/arch/powerpc/platforms/powermac/Makefile
> index 50f1693..0eb8781 100644
> --- a/arch/powerpc/platforms/powermac/Makefile
> +++ b/arch/powerpc/platforms/powermac/Makefile
> @@ -2,7 +2,7 @@ CFLAGS_bootx_init.o += -fPIC
>
> ifdef CONFIG_FUNCTION_TRACER
> # Do not trace early boot code
> -CFLAGS_REMOVE_bootx_init.o = -pg -mno-sched-epilog
> +CFLAGS_REMOVE_bootx_init.o = -pg
> endif
>
> obj-y += pic.o setup.o time.o feature.o pci.o \
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 29044f5..657126c 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -402,7 +402,7 @@ config LOCKDEP
> bool
> depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
> select STACKTRACE
> - select FRAME_POINTER if !X86 && !MIPS && !PPC
> + select FRAME_POINTER if !X86 && !MIPS
> select KALLSYMS
> select KALLSYMS_ALL
>
> @@ -583,7 +583,7 @@ 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
> @@ -771,13 +771,13 @@ config FAULT_INJECTION_STACKTRACE_FILTER
> depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
> depends on !X86_64
> select STACKTRACE
> - select FRAME_POINTER if !PPC
> + select FRAME_POINTER
> help
> Provide stacktrace filter for fault-injection capabilities
>
> config LATENCYTOP
> bool "Latency measuring infrastructure"
> - select FRAME_POINTER if !MIPS && !PPC
> + select FRAME_POINTER if !MIPS
> select KALLSYMS
> select KALLSYMS_ALL
> select STACKTRACE
next prev parent reply other threads:[~2009-02-05 0:31 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-31 19:06 [PATCH] ftrace: On PowerPC we don't need frame pointers for CALLER_ADDRs Anton Vorontsov
2009-02-02 0:35 ` Benjamin Herrenschmidt
2009-02-02 14:04 ` Steven Rostedt
2009-02-03 14:56 ` [PATCH v2] " Anton Vorontsov
2009-02-03 16:06 ` Ingo Molnar
2009-02-03 16:19 ` Anton Vorontsov
2009-02-03 16:32 ` Steven Rostedt
2009-02-03 18:59 ` Anton Vorontsov
2009-02-04 0:34 ` Benjamin Herrenschmidt
2009-02-04 15:07 ` Anton Vorontsov
2009-02-04 15:08 ` [PATCH 1/3] Makefile: Include arch Makefiles as late as possible Anton Vorontsov
2009-02-04 21:26 ` Ingo Molnar
2009-02-11 3:51 ` Benjamin Herrenschmidt
2009-02-11 13:23 ` Ingo Molnar
2009-02-11 14:11 ` Steven Rostedt
2009-02-14 19:58 ` Sam Ravnborg
2009-02-14 19:57 ` Sam Ravnborg
2009-02-14 22:03 ` Ingo Molnar
2009-02-15 0:19 ` Benjamin Herrenschmidt
2009-02-15 8:09 ` Ingo Molnar
2009-02-16 14:20 ` Anton Vorontsov
2009-02-16 14:53 ` Anton Vorontsov
2009-02-16 20:04 ` Sam Ravnborg
2009-02-16 16:08 ` Anton Vorontsov
2009-02-16 17:22 ` Ingo Molnar
2009-02-04 15:08 ` [PATCH 2/3] powerpc: Make it possible to safely select CONFIG_FRAME_POINTER Anton Vorontsov
2009-02-05 0:31 ` Benjamin Herrenschmidt [this message]
2009-02-05 0:35 ` Steven Rostedt
2009-02-05 1:12 ` Anton Vorontsov
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:30 ` Anton Vorontsov
2009-02-05 15:45 ` Anton Vorontsov
2009-02-04 15:08 ` [PATCH 3/3] tracing: Tracers that use CALLER_ADDR macros should select FRAME_POINTER Anton Vorontsov
2009-02-04 15:26 ` Frédéric Weisbecker
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:36 ` Anton Vorontsov
2009-02-04 16:50 ` Frédéric Weisbecker
2009-02-04 8:17 ` [PATCH v2] ftrace: On PowerPC we don't need frame pointers forCALLER_ADDRs Usha Rani Konudula
2009-02-04 8:37 ` Usha Rani Konudula
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=1233793889.4612.33.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=avorontsov@ru.mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).