Fix a snafu in a previous update to readelf that stopped it from printing archive...
authorNick Clifton <nickc@redhat.com>
Fri, 17 Nov 2017 12:05:34 +0000 (12:05 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 17 Nov 2017 12:05:34 +0000 (12:05 +0000)
commit6a6196fc71467e39e9009d6306ef13de008c6fe3
tree9abc79b9da44142251447a9ff288330064595e6c
parentb7e228508255359e473611fdf7c067b0b79cadbe
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.
binutils/ChangeLog
binutils/readelf.c