• Sam Ravnborg's avatar
    tracing: Properly align linker defined symbols · 07fca0e5
    Sam Ravnborg authored
    We define a number of symbols in the linker scipt like this:
    
        __start_syscalls_metadata = .;
        *(__syscalls_metadata)
    
    But we do not know the alignment of "." when we assign
    the __start_syscalls_metadata symbol.
    gcc started to uses bigger alignment for structs (32 bytes),
    so we saw situations where the linker due to alignment
    constraints increased the value of "." after the symbol assignment.
    
    This resulted in boot fails.
    
    Fix this by forcing a 32 byte alignment of "." before the
    assignment.
    
    This patch introduces the forced alignment for
    ftrace_events and syscalls_metadata.
    It may be required in more places.
    Reported-by: default avatarZeev Tarantov <zeev.tarantov@gmail.com>
    Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
    LKML-Reference: <20100710063459.GA14596@merkur.ravnborg.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    07fca0e5
vmlinux.lds.h 22.2 KB