diff options
author | Alan Modra <amodra@gmail.com> | 2021-04-11 23:34:21 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-04-12 11:57:03 +0930 |
commit | fc304b889106f6d1bd720e969b95615992bf1961 (patch) | |
tree | af9f6df2ab9282409587e4b8ba784e813e2c6f5c /ld/ChangeLog | |
parent | e601909a3287bf541c6a7d82214bb387d2c76d82 (diff) | |
download | fsf-binutils-gdb-fc304b889106f6d1bd720e969b95615992bf1961.zip fsf-binutils-gdb-fc304b889106f6d1bd720e969b95615992bf1961.tar.gz fsf-binutils-gdb-fc304b889106f6d1bd720e969b95615992bf1961.tar.bz2 |
PR27719, lang_mark_undefineds trashes memory
It's not enough to test that the output is ELF before casting
bfd_link_hash_entry to elf_link_hash_entry. Some ELF targets (d30v,
dlx, pj, s12z, xgate) use the generic linker support in bfd/linker.c
and thus their symbols are of type generic_link_hash_entry.
Not all of the places this patch touches can result in wrong accesses,
but I thought it worth ensuring that all occurrences of
elf_link_hash_entry in ld/ were obviously correct.
PR 27719
* ldlang.c (lang_mark_undefineds, undef_start_stop): Test that
the symbol hash table is the correct type before accessing
elf_link_hash_entry symbols.
* plugin.c (is_visible_from_outside): Likewise.
* emultempl/armelf.em (ld${EMULATION_NAME}_finish): Likewise.
* emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
Diffstat (limited to 'ld/ChangeLog')
-rw-r--r-- | ld/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index c07105d..aad02a2 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +2021-04-12 Alan Modra <amodra@gmail.com> + + PR 27719 + * ldlang.c (lang_mark_undefineds, undef_start_stop): Test that + the symbol hash table is the correct type before accessing + elf_link_hash_entry symbols. + * plugin.c (is_visible_from_outside): Likewise. + * emultempl/armelf.em (ld${EMULATION_NAME}_finish): Likewise. + * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise. + 2021-04-09 Alan Modra <amodra@gmail.com> * testsuite/ld-powerpc/inlinepcrel-1.d: Update expected output. |