lkml.org 
[lkml]   [2010]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: 2.6.35 regression
    On Fri, Jul 9, 2010 at 06:26, Steven Rostedt <rostedt@goodmis.org> wrote:
    > On Thu, 2010-07-08 at 21:53 +0300, Zeev Tarantov wrote:
    >
    >> With gcc 4.5.1 rev. 161655 objdump shows:
    >> Disassembly of section .data:
    >>
    >> ffffffff8173c438 <__start_syscalls_metadata>:
    >>         ...
    >>
    >> ffffffff8173c440 <__syscall_meta__mmap>:
    >> ffffffff8173c440:       2b ab 5f 81 ff ff       sub    -0x7ea1(%rbx),%ebp
    >
    > Yeah, this is definitely the issue. It starts off at ffffffff8173c438,
    > when the first item is really at ffffffff8173c440.
    >
    > Can you try this patch out:
    >
    > -- Steve
    >
    > diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
    > index 7f614ce..13ebb54 100644
    > --- a/include/linux/syscalls.h
    > +++ b/include/linux/syscalls.h
    > @@ -124,7 +124,8 @@ extern struct trace_event_functions enter_syscall_print_funcs;
    >  extern struct trace_event_functions exit_syscall_print_funcs;
    >
    >  #define SYSCALL_TRACE_ENTER_EVENT(sname)                               \
    > -       static struct syscall_metadata __syscall_meta_##sname;          \
    > +       static struct syscall_metadata                                  \
    > +       __attribute__((__aligned__(4))) __syscall_meta_##sname;         \
    >        static struct ftrace_event_call                                 \
    >        __attribute__((__aligned__(4))) event_enter_##sname;            \
    >        static struct ftrace_event_call __used                          \
    > @@ -138,7 +139,8 @@ extern struct trace_event_functions exit_syscall_print_funcs;
    >        }
    >
    >  #define SYSCALL_TRACE_EXIT_EVENT(sname)                                        \
    > -       static struct syscall_metadata __syscall_meta_##sname;          \
    > +       static struct syscall_metadata                                  \
    > +       __attribute__((__aligned__(4))) __syscall_meta_##sname;         \
    >        static struct ftrace_event_call                                 \
    >        __attribute__((__aligned__(4))) event_exit_##sname;             \
    >        static struct ftrace_event_call __used                          \
    >
    >
    >
    >

    Boots fine with this applied.
    Linux version 2.6.35-rc4 (wolf@wolfpc) (gcc version 4.5.1-pre9999
    20100701 (prerelease) rev. 161655 (Gentoo SVN) ) #5 SMP Fri Jul 9
    11:13:08 IDT 2010

    I hope Linus accepts this patch as it seems to me the compiler is
    doing something it is allowed to do.

    Thank you for the prompt response!

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

    \
     
     \ /
      Last update: 2010-07-09 10:47    [W:0.023 / U:121.888 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site