aboutsummaryrefslogtreecommitdiff
path: root/binutils/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2019-02-22 10:36:24 +0000
committerNick Clifton <nickc@redhat.com>2019-02-22 10:36:24 +0000
commit24841daa74f092f7c5639ee8f1fb303c7694dee7 (patch)
treee1bc310ca5ad66731c0b21496c4c3a093c7b89b8 /binutils/testsuite
parent83f43c8344d752fb8266b4c4e2f42cf4e5a2f86e (diff)
downloadgdb-24841daa74f092f7c5639ee8f1fb303c7694dee7.zip
gdb-24841daa74f092f7c5639ee8f1fb303c7694dee7.tar.gz
gdb-24841daa74f092f7c5639ee8f1fb303c7694dee7.tar.bz2
Extend readelf and objdump so that they will display and follow multiple links to separate debug information files.
PR 23843 * dwarf.h (struct separate_info): New structure for containing information on separate debug info files. * dwarf.c (struct dwo_info): New structure for containing dwo links. (first_dwo_info): Chain of dwo_info structures. (first_separate_file): Chain of separate_info structures. (separate_debug_file, separate_debug_filename): Delete. (fetch_alt_indirect_string): Scan all separate debug info files for the requested string. (add_dwo_info): New function. (add_dwo_name): New function. (add_dwo_dir): New function. (add_dwo_id: New function. (free_dwo_info): New function. (read_and_display_attr_value): Store DWO data using the new functions. (load_debug_section_with_follow): If necessary, scan the list of separate debug info files for the requested section. (add_separate_debug_file): New function. (load_separate_debug_info): Call add_separate_debug_file to store the information on the newly loaded file. (load_dwo_file): Likewise. (load_separate_debif_file): Rename to load_separate_debug_files. Change return type to boolean. If following links then attempt to load all separate debug info files, not just the first one. (free_debug_memory): Release memory in dwo_info and separate_info chains. * objdump.c (dump_dwarf): Iterate over all loaded debg info files. * readelf.c (process_object): Likewise. * doc/debug.options.texi: Update descriptions of links and follow-links options. * testsuite/binutils-all/objdump.WK2: Update expected output. * testsuite/binutils-all/readelf.k2: Likewise. * NEWS: Announce the new feature.
Diffstat (limited to 'binutils/testsuite')
-rw-r--r--binutils/testsuite/binutils-all/objdump.WK22
-rw-r--r--binutils/testsuite/binutils-all/readelf.k27
2 files changed, 7 insertions, 2 deletions
diff --git a/binutils/testsuite/binutils-all/objdump.WK2 b/binutils/testsuite/binutils-all/objdump.WK2
index 22bcb0d..c98fdc1 100644
--- a/binutils/testsuite/binutils-all/objdump.WK2
+++ b/binutils/testsuite/binutils-all/objdump.WK2
@@ -1,6 +1,6 @@
#...
.*debuglink.o: Found separate debug info file:.*linkdebug.debug
-
+#...
Contents of the .debug_str section \(loaded from .*debuglink.o\):
0x00000000 73747269 6e672d31 00737472 696e672d string-1.string-
diff --git a/binutils/testsuite/binutils-all/readelf.k2 b/binutils/testsuite/binutils-all/readelf.k2
index 89ee4b4..e2ea0ad 100644
--- a/binutils/testsuite/binutils-all/readelf.k2
+++ b/binutils/testsuite/binutils-all/readelf.k2
@@ -1,4 +1,9 @@
-The \.debug_info section contains a link to a dwo file:
+The \.debug_info section contains link\(s\) to dwo file\(s\):
+
Name: file\.dwo
Directory: /another/path/
ID: (12|dd) (34|cc) (56|bb) (78|aa) (78|aa) (56|bb) (34|cc) (12|dd)
+
+ Name: debugfile\.dwo
+ Directory: /path/to/dwo/files
+ ID: (12|dd) (34|cc) (56|bb) (78|aa) (78|aa) (56|bb) (34|cc) (12|dd)