aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-11-27 18:00:59 +1030
committerAlan Modra <amodra@gmail.com>2019-11-27 19:10:11 +1030
commit7f3bf38453acbabf7286dd7f8ce2688282e7b9cd (patch)
treef8f2436c5e8dc4e5deb7089b7418f76a72aab57f /bfd/ChangeLog
parente76790600aeba4939225eda32e59642ed2813ac8 (diff)
downloadgdb-7f3bf38453acbabf7286dd7f8ce2688282e7b9cd.zip
gdb-7f3bf38453acbabf7286dd7f8ce2688282e7b9cd.tar.gz
gdb-7f3bf38453acbabf7286dd7f8ce2688282e7b9cd.tar.bz2
PR23652, Use symbols from debug bfd for _bfd_elf_find_function properly
There were a number of problems with the previous patch. Firstly, _bfd_dwarf2_stash_syms didn't do anything when the original file had dynamic symbols, and secondly, info found by the symbol search didn't make it out of _bfd_elf_find_nearest_line except in the case of DWARF functions without external linkage. PR 23652 * dwarf2.c (_bfd_dwarf2_stash_syms): Break out of loop on finding matching section. (_bfd_dwarf2_find_nearest_line): Return an int, with value 2 when returning info from the symbol table. Do the _bfd_elf_find_function search also when !found. Call _bfd_dwarf2_stash_syms regardless of symbols. * elf64-alpha.c (elf64_alpha_find_nearest_line): Accept dwarf2 result of 1 only. * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise. * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. * libbfd.h: Regenerate.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4a0852e..ab9174d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,6 +1,21 @@
2019-11-27 Alan Modra <amodra@gmail.com>
PR 23652
+ * dwarf2.c (_bfd_dwarf2_stash_syms): Break out of loop on finding
+ matching section.
+ (_bfd_dwarf2_find_nearest_line): Return an int, with value 2 when
+ returning info from the symbol table. Do the _bfd_elf_find_function
+ search also when !found. Call _bfd_dwarf2_stash_syms regardless of
+ symbols.
+ * elf64-alpha.c (elf64_alpha_find_nearest_line): Accept dwarf2
+ result of 1 only.
+ * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
+ * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
+ * libbfd.h: Regenerate.
+
+2019-11-27 Alan Modra <amodra@gmail.com>
+
+ PR 23652
* dwarf2.c (_bfd_dwarf2_stash_syms): New function.
(_bfd_dwarf2_find_nearest_line): Use it here, passing syms to
_bfd_elf_find_function. Call _bfd_elf_find_function in cases