This website requires JavaScript.
Explore
Help
Sign In
mirror
/
binutils-gdb
Watch
2
Star
0
Fork
0
You've already forked binutils-gdb
mirror of
https://sourceware.org/git/binutils-gdb.git
synced
2025-02-05 12:53:16 +08:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
823143c6ca
binutils-gdb
/
ld
/
testsuite
/
ld-elf
/
dwarf3.err
5 lines
155 B
Plaintext
Raw
Normal View
History
Unescape
Escape
bfd/dwarf: Improve use of previously loaded dwarf information When parsing DWARF data in order to report file/line type error messages we perform section placement to make section addresses unique within relocatable object files. Currently, if we reuse previously loaded (and cached) dwarf data then we neglect to perform section placement, the result is that the section addresses will not be unique, and we might, incorrectly associate an address with the wrong debug information, and so report an incorrect file and line number. Further we neglect to check that that bfd for which we are looking up debug information is actually the bfd for which the previous debug information was loaded, it is possible that we will reuse previously loaded debug information for a different bfd. And finally, due to following of gnu_debuglink links in one bfd to another, the process of checking that the cached debug information is valid requires us to track the original bfd in the cached debug information. The original debug information here is either the bfd that we're interested in, not the bfd we finally load the debug information from. bfd/ChangeLog: * dwarf2.c (struct dwarf2_debug): Add orig_bfd member. (_bfd_dwarf2_slurp_debug_info): If stashed debug information does not match current bfd, then reload debug information. Record bfd we're loading debug info for in the stash. If we have debug informatin in the cache then perform section placement before returning. ld/ChangeLog: * testsuite/ld-elf/dwarf.exp (build_tests): Add new tests. * testsuite/ld-elf/dwarf2.err: New file. * testsuite/ld-elf/dwarf2a.c: New file. * testsuite/ld-elf/dwarf2b.c: New file. * testsuite/ld-elf/dwarf3.c: New file. * testsuite/ld-elf/dwarf3.err: New file.
2016-12-15 23:22:49 +08:00
.*/dwarf3\.o: In function `main':
Relax dwarf3 expected error match * testsuite/ld-elf/dwarf2.err: Add missing newline at end. * testsuite/ld-elf/dwarf3.err: Likewise. Allow match without filename.
2017-02-17 14:54:02 +08:00
.*\(\.text.*\+0x[0-9a-f]+\): undefined reference to `bar'
.*\(\.text.*\+0x[0-9a-f]+\): undefined reference to `bar'
#...
Reference in New Issue
Copy Permalink