]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Properly align linker defined symbols
authorSam Ravnborg <sam@ravnborg.org>
Sat, 10 Jul 2010 06:35:00 +0000 (08:35 +0200)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 20 Jul 2010 23:02:52 +0000 (19:02 -0400)
commit681bddb781b28fc5aa48a1320827ff1de20589c3
tree04d8d6cbc89936c877cb385b300a6a1bacf57ae6
parent6763d6ec2f8a3c05c13a5f641a28738ee8037869
tracing: Properly align linker defined symbols

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: Zeev Tarantov <zeev.tarantov@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
LKML-Reference: <20100710063459.GA14596@merkur.ravnborg.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/asm-generic/vmlinux.lds.h