readelf: Reset file position to beginning for thin archive members

* readelf.c (process_archive): Reset file position to the
	beginning when calling process_object for thin archive members.
	* testsuite/binutils-all/readelf.exp: Add test.
	* testsuite/binutils-all/readelf.h.thin: New file.
This commit is contained in:
Andrei Homescu
2021-07-01 12:01:55 +01:00
committed by Nick Clifton
parent 417f991f08
commit 75a2da57a1
4 changed files with 60 additions and 0 deletions

View File

@@ -21792,6 +21792,9 @@ process_archive (Filedata * filedata, bool is_thin_archive)
filedata->archive_file_offset = arch.nested_member_origin;
member_filedata->file_name = qualified_name;
/* The call to process_object() expects the file to be at the beginning. */
rewind (member_filedata->handle);
if (! process_object (member_filedata))
ret = false;