summaryrefslogtreecommitdiffstats
path: root/kernel/stacktrace.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2015-03-30 15:20:31 +0200
committerMichal Marek <mmarek@suse.cz>2015-04-07 13:04:50 +0200
commitbd8b22d2888e75063c9012b95341d6cb36456434 (patch)
tree4cbbe9fb980626f151b4d92c54b0a11757ea47f0 /kernel/stacktrace.c
parentd4a4e3f5a3e8bcd8aa778120d5f902b06a0e1019 (diff)
downloadblackbird-op-linux-bd8b22d2888e75063c9012b95341d6cb36456434.tar.gz
blackbird-op-linux-bd8b22d2888e75063c9012b95341d6cb36456434.zip
Kbuild: kallsyms: ignore veneers emitted by the ARM linker
When linking large kernels on ARM, the linker will insert veneers (i.e., PLT like stubs) when function symbols are out of reach for the ordinary relative branch/branch-and-link instructions. However, due to the fact that the kallsyms region sits in .rodata, which is between .text and .init.text, additional veneers may be emitted in the second pass due to the fact that the size of the kallsyms region itself has pushed the .init.text section further apart, requiring even more veneers. So ignore the veneers when generating the symbol table. Veneers have no corresponding source code, and they will not turn up in backtraces anyway. This patch also lightly refactors the symbol_valid() function to use a local 'sym_name' rather than the obfuscated 'sym + 1' and 'sym + offset' Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'kernel/stacktrace.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud