diff options
author | Nick Clifton <nickc@redhat.com> | 2017-11-17 12:05:34 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-11-17 12:05:34 +0000 |
commit | 6a6196fc71467e39e9009d6306ef13de008c6fe3 (patch) | |
tree | 9abc79b9da44142251447a9ff288330064595e6c /binutils/readelf.c | |
parent | b7e228508255359e473611fdf7c067b0b79cadbe (diff) | |
download | gdb-6a6196fc71467e39e9009d6306ef13de008c6fe3.zip gdb-6a6196fc71467e39e9009d6306ef13de008c6fe3.tar.gz gdb-6a6196fc71467e39e9009d6306ef13de008c6fe3.tar.bz2 |
Fix a snafu in a previous update to readelf that stopped it from printing archive member names along with the archive file name.
--
This patch causes problems for glibc linknamespace tests because of how it
changes the output format of readelf on .a files.
Previously, "readelf -W -s libc.a" would produce output starting e.g.:
File: /scratch/jmyers/glibc/many8/build/glibcs/x86_64-linux-gnu/glibc/libc.a(init-first.o)
Symbol table '.symtab' contains 30 entries:
and continuing with symbol information for each object in that .a file.
After this commit, instead it starts:
File: /scratch/jmyers/glibc/many8/build/glibcs/x86_64-linux-gnu/glibc/libc.a
Symbol table '.symtab' contains 30 entries:
and every object's symbol information starts with the same File: line,
missing any information about which object's symbols (within libc.a) are
being listed.
I think the previous File: lines that said libc.a(init-first.o) etc.,
identifying the particular object within libc.a, were clearly preferable,
and the glibc linknamespace tests rely on having that information about
the individual object within libc.a.
--
binutils * readelf.c (process_archive): Include member name in the
file_name of the filedata structure.
Diffstat (limited to 'binutils/readelf.c')
-rw-r--r-- | binutils/readelf.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c index b7f1e09..b1130a7 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -18715,6 +18715,7 @@ process_archive (Filedata * filedata, bfd_boolean is_thin_archive) archive_file_offset = arch.next_arhdr_offset; arch.next_arhdr_offset += archive_file_size; + filedata->file_name = qualified_name; if (! process_object (filedata)) ret = FALSE; } |