From: Linus Torvalds on
On Fri, Jul 9, 2010 at 1:33 PM, Sam Ravnborg <sam(a)ravnborg.org> wrote:
>
> Something like this:
> (whitespace damaged)
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index 48c5299..64430d3 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -133,7 +133,8 @@
> �#endif
>
> �#ifdef CONFIG_FTRACE_SYSCALLS
> -#define TRACE_SYSCALLS() VMLINUX_SYMBOL(__start_syscalls_metadata) = .; � � � �\
> +#define TRACE_SYSCALLS() . = ALIGN(8); � � � � � � � � � � � � � � � � \
> + � � � � � � � � � � � �VMLINUX_SYMBOL(__start_syscalls_metadata) = .; \
> � � � � � � � � � � � � *(__syscalls_metadata) � � � � � � � � � � � � \
> � � � � � � � � � � � � VMLINUX_SYMBOL(__stop_syscalls_metadata) = .;
> �#else

If this is confirmed to fix it, then I would much prefer this version.

That said, I do wonder whether we shouldn't do the ALIGN(8) in the
DATA_DATA define instead. That's what we do for other things like this
(start_markers, start__verbose, etc etc)

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Zeev Tarantov on
On Sat, Jul 10, 2010 at 03:22, Steven Rostedt <rostedt(a)goodmis.org> wrote:
> On Fri, 2010-07-09 at 14:25 -0700, Linus Torvalds wrote:
>> On Fri, Jul 9, 2010 at 1:33 PM, Sam Ravnborg <sam(a)ravnborg.org> wrote:
>> >
>> > Something like this:
>> > (whitespace damaged)
>> > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
>> > index 48c5299..64430d3 100644
>> > --- a/include/asm-generic/vmlinux.lds.h
>> > +++ b/include/asm-generic/vmlinux.lds.h
>> > @@ -133,7 +133,8 @@
>> > �#endif
>> >
>> > �#ifdef CONFIG_FTRACE_SYSCALLS
>> > -#define TRACE_SYSCALLS() VMLINUX_SYMBOL(__start_syscalls_metadata) = .; � � � �\
>> > +#define TRACE_SYSCALLS() . = ALIGN(8); � � � � � � � � � � � � � � � � \
>> > + � � � � � � � � � � � �VMLINUX_SYMBOL(__start_syscalls_metadata) = .; \
>> > � � � � � � � � � � � � *(__syscalls_metadata) � � � � � � � � � � � � \
>> > � � � � � � � � � � � � VMLINUX_SYMBOL(__stop_syscalls_metadata) = .;
>> > �#else
>>
>> If this is confirmed to fix it, then I would much prefer this version.
>
> Zeev,
>
> Can you try Sam's version and remove mine. I'd like to see if that fixes
> the issue too.
>
> Thanks,
>
> -- Steve
>
>
>

Clean kernel source from tarball with only this patch applied, with
copied over config file, compiled with my gcc 4.5.1 doesn't boot. Same
call stack.
The disassembly begins same way as for unpatched source (0x...38 , 0x...40).
Now trying the patch to "Align to a 32 byte boundary".

-Zeev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/