mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
kbuild: exclude .rodata.(cst|str)* when building ranges
commit87bb368d06
upstream. The .rodata.(cst|str)* sections are often resized during the final linking and since these sections do not cover actual symbols there is no need to include them in the modules.builtin.ranges data. When these sections were included in processing and resizing occurred, modules were reported with ranges that extended beyond their true end, causing subsequent symbols (in address order) to be associated with the wrong module. Fixes:5f5e734432
("kbuild: generate offset range data for builtin modules") Cc: stable@vger.kernel.org Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com> Reviewed-by: Jack Vogel <jack.vogel@oracle.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9eaec071f1
commit
e94314b727
|
@ -282,6 +282,11 @@ ARGIND == 2 && !anchor && NF == 2 && $1 ~ /^0x/ && $2 !~ /^0x/ {
|
|||
# section.
|
||||
#
|
||||
ARGIND == 2 && sect && NF == 4 && /^ [^ \*]/ && !($1 in sect_addend) {
|
||||
# There are a few sections with constant data (without symbols) that
|
||||
# can get resized during linking, so it is best to ignore them.
|
||||
if ($1 ~ /^\.rodata\.(cst|str)[0-9]/)
|
||||
next;
|
||||
|
||||
if (!($1 in sect_base)) {
|
||||
sect_base[$1] = base;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user