summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-07-26 22:46:27 +1000
committerMasahiro Yamada <yamada.masahiro@socionext.com>2017-08-10 00:57:42 +0900
commitcb87481ee89dbd6609e227afbf64900fb4e5c930 (patch)
treed8aa0cf8801b143f6f67eb9f83ca66fb940056b2 /scripts
parentaae4e7a8bc44722fe70d58920a36916b1043195e (diff)
downloadlinux-cb87481ee89dbd6609e227afbf64900fb4e5c930.tar.bz2
kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured
The .data and .bss sections were modified in the generic linker script to pull in sections named .data.<C identifier>, which are generated by gcc with -ffunction-sections and -fdata-sections options. The problem with this pattern is it can also match section names that Linux defines explicitly, e.g., .data.unlikely. This can cause Linux sections to get moved into the wrong place. The way to avoid this is to use ".." separators for explicit section names (the dot character is valid in a section name but not a C identifier). However currently there are sections which don't follow this rule, so for now just disable the wild card by default. Example: http://marc.info/?l=linux-arm-kernel&m=150106824024221&w=2 Cc: <stable@vger.kernel.org> # 4.9 Fixes: b67067f1176df ("kbuild: allow archs to select link dead code/data elimination") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions