Fix incremental linking with rodata merge sections.
When processing the incremental update, incoming .rodata merge sections do not match the corresponding section in the base file, because the SHF_MERGE flag had not been masked out of the latter. gold/ PR gold/24123 * layout.cc (Layout::init_fixed_output_section): Mask out flags that should be ignored when matching sections.
This commit is contained in:
parent
4cf2ad7200
commit
f12650bff1
@ -1,3 +1,9 @@
|
||||
2020-12-13 Cary Coutant <ccoutant@gmail.com>
|
||||
|
||||
PR gold/24123
|
||||
* layout.cc (Layout::init_fixed_output_section): Mask out flags that
|
||||
should be ignored when matching sections.
|
||||
|
||||
2020-12-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* plugin.cc (Plugin_recorder::init): Replace strncpy with memcpy.
|
||||
|
@ -1099,7 +1099,8 @@ Layout::init_fixed_output_section(const char* name,
|
||||
typename elfcpp::Elf_types<size>::Elf_Addr sh_addr = shdr.get_sh_addr();
|
||||
typename elfcpp::Elf_types<size>::Elf_Off sh_offset = shdr.get_sh_offset();
|
||||
typename elfcpp::Elf_types<size>::Elf_WXword sh_size = shdr.get_sh_size();
|
||||
typename elfcpp::Elf_types<size>::Elf_WXword sh_flags = shdr.get_sh_flags();
|
||||
typename elfcpp::Elf_types<size>::Elf_WXword sh_flags =
|
||||
this->get_output_section_flags(shdr.get_sh_flags());
|
||||
typename elfcpp::Elf_types<size>::Elf_WXword sh_addralign =
|
||||
shdr.get_sh_addralign();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user