lkml.org 
[lkml]   [2008]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -mm] ftrace : Fix section mismatch warning.

On Fri, 24 Oct 2008, Steven Rostedt wrote:
>
> The real solution should probably be this:
>
> (Compiled tested only)
>
> Signed-off-by: Steven Rostedt <srostedt@redhat.com>
> ---
> arch/x86/kernel/ftrace.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> Index: linux-tip.git/arch/x86/kernel/ftrace.c
> ===================================================================
> --- linux-tip.git.orig/arch/x86/kernel/ftrace.c 2008-10-23 19:23:28.000000000 -0400
> +++ linux-tip.git/arch/x86/kernel/ftrace.c 2008-10-24 08:11:57.000000000 -0400
> @@ -22,7 +22,7 @@
>
>
> /* Long is fine, even if it is only 4 bytes ;-) */
> -static unsigned long *ftrace_nop;
> +static unsigned long ftrace_nop[MCOUNT_INSN_SIZE];

I need to convert that to unsigned char ftrace_nop[]. I'll run some more
tests, and produce a real patch later.

-- Steve

>
> union ftrace_code_union {
> char code[MCOUNT_INSN_SIZE];
> @@ -126,8 +126,7 @@ int __init ftrace_dyn_arch_init(void *da
> */
> asm volatile (
> "jmp ftrace_test_jmp\n"
> - /* This code needs to stay around */
> - ".section .text, \"ax\"\n"
> + ".section .text.init, \"ax\"\n"
> "ftrace_test_jmp:"
> "jmp ftrace_test_p6nop\n"
> "nop\n"
> @@ -154,15 +153,15 @@ int __init ftrace_dyn_arch_init(void *da
> switch (faulted) {
> case 0:
> pr_info("ftrace: converting mcount calls to 0f 1f 44 00 00\n");
> - ftrace_nop = (unsigned long *)ftrace_test_p6nop;
> + memcpy(ftrace_nop, ftrace_test_p6nop, MCOUNT_INSN_SIZE);
> break;
> case 1:
> pr_info("ftrace: converting mcount calls to 66 66 66 66 90\n");
> - ftrace_nop = (unsigned long *)ftrace_test_nop5;
> + memcpy(ftrace_nop, ftrace_test_nop5, MCOUNT_INSN_SIZE);
> break;
> case 2:
> pr_info("ftrace: converting mcount calls to jmp . + 5\n");
> - ftrace_nop = (unsigned long *)ftrace_test_jmp;
> + memcpy(ftrace_nop, ftrace_test_jmp, MCOUNT_INSN_SIZE);
> break;
> }
>
>


\
 
 \ /
  Last update: 2008-10-24 14:25    [W:0.557 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site