All of lore.kernel.org
 help / color / mirror / Atom feed
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

WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: Steven Rostedt <srostedt@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
	linux-rt-users@vger.kernel.org
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


  parent reply	other threads:[~2009-02-05  0:31 UTC|newest]

Thread overview: 106+ 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-01-31 19:06 ` Anton Vorontsov
2009-02-02  0:35 ` Benjamin Herrenschmidt
2009-02-02  0:35   ` Benjamin Herrenschmidt
2009-02-02 14:04   ` Steven Rostedt
2009-02-02 14:04     ` Steven Rostedt
2009-02-03 14:56     ` [PATCH v2] " Anton Vorontsov
2009-02-03 14:56       ` Anton Vorontsov
2009-02-03 16:06       ` Ingo Molnar
2009-02-03 16:06         ` Ingo Molnar
2009-02-03 16:19         ` Anton Vorontsov
2009-02-03 16:19           ` Anton Vorontsov
2009-02-03 16:32           ` Steven Rostedt
2009-02-03 16:32             ` Steven Rostedt
2009-02-03 18:59             ` Anton Vorontsov
2009-02-03 18:59               ` Anton Vorontsov
2009-02-04  0:34               ` Benjamin Herrenschmidt
2009-02-04  0:34                 ` Benjamin Herrenschmidt
2009-02-04 15:07           ` Anton Vorontsov
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 15:08               ` Anton Vorontsov
2009-02-04 15:08               ` Anton Vorontsov
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26                 ` Ingo Molnar
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                   ` Benjamin Herrenschmidt
2009-02-11 13:23                   ` Ingo Molnar
2009-02-11 13:23                     ` Ingo Molnar
2009-02-11 14:11                     ` Steven Rostedt
2009-02-11 14:11                     ` Steven Rostedt
2009-02-11 14:11                     ` Steven Rostedt
2009-02-11 14:11                       ` Steven Rostedt
2009-02-11 14:11                     ` Steven Rostedt
2009-02-14 19:58                   ` Sam Ravnborg
2009-02-14 19:58                     ` Sam Ravnborg
2009-02-14 19:57                 ` Sam Ravnborg
2009-02-14 19:57                   ` Sam Ravnborg
2009-02-14 22:03                   ` Ingo Molnar
2009-02-14 22:03                     ` Ingo Molnar
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                       ` Benjamin Herrenschmidt
2009-02-15  8:09                       ` Ingo Molnar
2009-02-15  8:09                         ` Ingo Molnar
2009-02-16 14:20                   ` Anton Vorontsov
2009-02-16 14:20                     ` Anton Vorontsov
2009-02-16 14:20                     ` Anton Vorontsov
2009-02-16 14:53                     ` Anton Vorontsov
2009-02-16 14:53                       ` Anton Vorontsov
2009-02-16 20:04                       ` Sam Ravnborg
2009-02-16 20:04                         ` Sam Ravnborg
2009-02-16 16:08                     ` Anton Vorontsov
2009-02-16 16:08                       ` Anton Vorontsov
2009-02-16 17:22                       ` Ingo Molnar
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-04 15:08               ` Anton Vorontsov
2009-02-05  0:31               ` Benjamin Herrenschmidt
2009-02-05  0:31               ` Benjamin Herrenschmidt [this message]
2009-02-05  0:31                 ` Benjamin Herrenschmidt
2009-02-05  0:35                 ` Steven Rostedt
2009-02-05  0:35                   ` Steven Rostedt
2009-02-05  1:12                   ` Anton Vorontsov
2009-02-05  1:12                     ` Anton Vorontsov
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                     ` Benjamin Herrenschmidt
2009-02-05  1:15                     ` Benjamin Herrenschmidt
2009-02-05  1:30                     ` Anton Vorontsov
2009-02-05  1:30                       ` Anton Vorontsov
2009-02-05 15:45                       ` Anton Vorontsov
2009-02-05 15:45                         ` Anton Vorontsov
2009-02-05  0:31               ` Benjamin Herrenschmidt
2009-02-05  0:31               ` Benjamin Herrenschmidt
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:08               ` Anton Vorontsov
2009-02-04 15:26               ` Frédéric Weisbecker
2009-02-04 15:26                 ` Frédéric Weisbecker
2009-02-04 15:26                 ` Frédéric Weisbecker
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:31                   ` Steven Rostedt
2009-02-04 15:31                   ` Steven Rostedt
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:36                 ` Anton Vorontsov
2009-02-04 15:36                   ` Anton Vorontsov
2009-02-04 15:36                   ` Anton Vorontsov
2009-02-04 16:50                   ` Frédéric Weisbecker
2009-02-04 16:50                     ` Frédéric Weisbecker
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:17         ` Usha Rani Konudula
2009-02-04  8:37         ` 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 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.