aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-11-21 08:57:00 +1030
committerAlan Modra <amodra@gmail.com>2019-11-21 21:08:30 +1030
commit73d5efd7e13ebd8fe87278224bc2ae777af3de52 (patch)
tree604140a0d4b12517d74f7c9463ff1c34ed1ede52 /bfd/ChangeLog
parent65d1cd5f9cbcbb2df0b187cb7623949c1668728f (diff)
downloadgdb-73d5efd7e13ebd8fe87278224bc2ae777af3de52.zip
gdb-73d5efd7e13ebd8fe87278224bc2ae777af3de52.tar.gz
gdb-73d5efd7e13ebd8fe87278224bc2ae777af3de52.tar.bz2
ARM cmse_scan segfault
This code in elf_link_add_object_symbols: ret = elf_add_dt_needed_tag (abfd, info, soname, add_needed); if (ret < 0) goto error_return; /* If we have already included this dynamic object in the link, just ignore it. There is no reason to include a particular dynamic object more than once. */ if (ret > 0) return TRUE; prevents a shared library from being loaded twice by ensuring that any library soname doesn't match the soname of one already loaded. This happens before sym_hashes are allocated, which leaves sym_hashes NULL. cmse_scan looks at library symbols, and when attempting to look up a global symbol will segfault if sym_hashes is zero. * elf32-arm.c (elf32_arm_size_stubs): Exclude dynamic library BFDs that have not been loaded.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ffe527c..a1ef734 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2019-11-21 Alan Modra <amodra@gmail.com>
+
+ * elf32-arm.c (elf32_arm_size_stubs): Exclude dynamic library
+ BFDs that have not been loaded.
+
2019-11-19 Alan Modra <amodra@gmail.com>
PR 25197