Patchwork [5/5] powerpc/ppc32: static ftrace fixes for PPC32

login
register
mail settings
Submitter Steven Rostedt
Date Nov. 26, 2008, 9:58 p.m.
Message ID <20081126220423.701125085@goodmis.org>
Download mbox | patch
Permalink /patch/11013/
State Accepted
Commit f1eecf0e4f0796911cc076f38fcf05fea0b353d5
Headers show

Comments

Steven Rostedt - Nov. 26, 2008, 9:58 p.m.
From: Steven Rostedt <rostedt@gollum.(none)>

Impact: fix for PowerPC 32 code

There were some early init code that was not safe for static
ftrace to boot on my PowerBook. This code must only use relative
addressing, and static mcount performs a compare of the
ftrace_trace_function pointer, and gets that with an absolute address.
In the early init boot up code, this will cause a fault.

This patch removes tracing from the files containing the offending
functions.

Signed-off-by: Steven Rostedt <rostedt@gollum.(none)>
---
 arch/powerpc/kernel/Makefile |    1 +
 arch/powerpc/lib/Makefile    |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)
Steven Rostedt - Nov. 26, 2008, 10:41 p.m.
On Wed, 26 Nov 2008, Steven Rostedt wrote:

> From: Steven Rostedt <rostedt@gollum.(none)>

Ah, I need to add GIT_AUTHOR on my PowerBook. And yes, it's name
is gollum ;-)

I'll fix this and push it again.

-- Steve

> 
> Impact: fix for PowerPC 32 code
> 
> There were some early init code that was not safe for static
> ftrace to boot on my PowerBook. This code must only use relative
> addressing, and static mcount performs a compare of the
> ftrace_trace_function pointer, and gets that with an absolute address.
> In the early init boot up code, this will cause a fault.
> 
> This patch removes tracing from the files containing the offending
> functions.
> 
> Signed-off-by: Steven Rostedt <rostedt@gollum.(none)>
> ---
>  arch/powerpc/kernel/Makefile |    1 +
>  arch/powerpc/lib/Makefile    |    3 +++
>  2 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
> index 92673b4..d17edb4 100644
> --- a/arch/powerpc/kernel/Makefile
> +++ b/arch/powerpc/kernel/Makefile
> @@ -17,6 +17,7 @@ ifdef CONFIG_FUNCTION_TRACER
>  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
>  
>  ifdef CONFIG_DYNAMIC_FTRACE
>  # dynamic ftrace setup.
> diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
> index d69912c..8db3527 100644
> --- a/arch/powerpc/lib/Makefile
> +++ b/arch/powerpc/lib/Makefile
> @@ -6,6 +6,9 @@ ifeq ($(CONFIG_PPC64),y)
>  EXTRA_CFLAGS		+= -mno-minimal-toc
>  endif
>  
> +CFLAGS_REMOVE_code-patching.o = -pg
> +CFLAGS_REMOVE_feature-fixups.o = -pg
> +
>  obj-y			:= string.o alloc.o \
>  			   checksum_$(CONFIG_WORD_SIZE).o
>  obj-$(CONFIG_PPC32)	+= div64.o copy_32.o crtsavres.o
> -- 
> 1.5.6.5
> 
> -- 
> 
>

Patch

diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index 92673b4..d17edb4 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -17,6 +17,7 @@  ifdef CONFIG_FUNCTION_TRACER
 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
 
 ifdef CONFIG_DYNAMIC_FTRACE
 # dynamic ftrace setup.
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index d69912c..8db3527 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -6,6 +6,9 @@  ifeq ($(CONFIG_PPC64),y)
 EXTRA_CFLAGS		+= -mno-minimal-toc
 endif
 
+CFLAGS_REMOVE_code-patching.o = -pg
+CFLAGS_REMOVE_feature-fixups.o = -pg
+
 obj-y			:= string.o alloc.o \
 			   checksum_$(CONFIG_WORD_SIZE).o
 obj-$(CONFIG_PPC32)	+= div64.o copy_32.o crtsavres.o