https://sourceware.org/bugzilla/show_bug.cgi?id=34736
--- Comment #2 from Sourceware Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Alan Modra <[email protected]>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9ca889ccf1da85afa5e1e662a423bd90eb867430 commit 9ca889ccf1da85afa5e1e662a423bd90eb867430 Author: Jan SoĆ tan <[email protected]> Date: Wed Oct 21 09:35:17 2026 +1030 An empty DT_GNU_HASH table's symoffset value The GNU-style ELF dynamic symbol lookup table DT_GNU_HASH indexes the names of dynamic symbols that are being exported by the object. The names of other dynamin symbols (local, imported, etc) are not hashed, and are required by the semantics of DT_GNU_HASH to appear in the dynamic symbol table before any exported (hashed) symbols. The header of the DT_GNU_HASH structure reports the index of the first hashed symbol with the value symoffset, giving us the count of non-hashed symbols. However, in a special case where there are no hashed (exported) symbols, a special "empty" table is generated with fixed values - 1 empty bucket, 1 zeroed word in the bloom filter and symoffset always set to 1 (to point past the always-present zeroed out first symbol). This is wrong because there may be other non-hashed dynamic symbols. PR 34736 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Correct empty DT_GNU_HASH symoffset. -- You are receiving this mail because: You are on the CC list for the bug.
