Fix extracting from AIX big archives.

This commit is contained in:
Tom Rix
2002-03-20 16:53:22 +00:00
parent 7b622c0b94
commit 6b3df6fd54
3 changed files with 14 additions and 8 deletions

View File

@@ -1,3 +1,9 @@
2002-03-20 Tom Rix <trix@redhat.com>
* coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
_bfd_xcoff_generic_stat_arch_elt. Fix format check.
* coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
Mon Mar 18 18:06:54 CET 2002 Jan Hubicka <jh@suse.cz> Mon Mar 18 18:06:54 CET 2002 Jan Hubicka <jh@suse.cz>
* cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64" * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"

View File

@@ -46,7 +46,7 @@ extern boolean _bfd_xcoff_slurp_armap PARAMS ((bfd *));
extern const bfd_target *_bfd_xcoff_archive_p PARAMS ((bfd *)); extern const bfd_target *_bfd_xcoff_archive_p PARAMS ((bfd *));
extern PTR _bfd_xcoff_read_ar_hdr PARAMS ((bfd *)); extern PTR _bfd_xcoff_read_ar_hdr PARAMS ((bfd *));
extern bfd *_bfd_xcoff_openr_next_archived_file PARAMS ((bfd *, bfd *)); extern bfd *_bfd_xcoff_openr_next_archived_file PARAMS ((bfd *, bfd *));
extern int _bfd_xcoff_generic_stat_arch_elt PARAMS ((bfd *, struct stat *)); extern int _bfd_xcoff_stat_arch_elt PARAMS ((bfd *, struct stat *));
extern boolean _bfd_xcoff_write_armap extern boolean _bfd_xcoff_write_armap
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int)); PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
extern boolean _bfd_xcoff_write_archive_contents PARAMS ((bfd *)); extern boolean _bfd_xcoff_write_archive_contents PARAMS ((bfd *));
@@ -1389,7 +1389,7 @@ _bfd_xcoff_openr_next_archived_file (archive, last_file)
/* Stat an element in an XCOFF archive. */ /* Stat an element in an XCOFF archive. */
int int
_bfd_xcoff_generic_stat_arch_elt (abfd, s) _bfd_xcoff_stat_arch_elt (abfd, s)
bfd *abfd; bfd *abfd;
struct stat *s; struct stat *s;
{ {
@@ -1399,7 +1399,7 @@ _bfd_xcoff_generic_stat_arch_elt (abfd, s)
return -1; return -1;
} }
if (! xcoff_big_format_p (abfd)) if (! xcoff_big_format_p (abfd->my_archive))
{ {
struct xcoff_ar_hdr *hdrp = arch_xhdr (abfd); struct xcoff_ar_hdr *hdrp = arch_xhdr (abfd);
@@ -3536,7 +3536,7 @@ const bfd_target rs6000coff_vec =
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */ _bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
_bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */ _bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */ _bfd_generic_get_elt_at_index, /* _get_elt_at_index */
_bfd_xcoff_generic_stat_arch_elt, /* _generic_dtat_arch_elt */ _bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
/* XCOFF archives do not have /* XCOFF archives do not have
a timestamp. */ a timestamp. */
bfd_true, /* _update_armap_timestamp */ bfd_true, /* _update_armap_timestamp */
@@ -3797,7 +3797,7 @@ const bfd_target pmac_xcoff_vec =
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */ _bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
_bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */ _bfd_xcoff_openr_next_archived_file, /* _openr_next_archived_file */
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */ _bfd_generic_get_elt_at_index, /* _get_elt_at_index */
_bfd_xcoff_generic_stat_arch_elt, /* _generic_dtat_arch_elt */ _bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
/* XCOFF archives do not have /* XCOFF archives do not have
a timestamp. */ a timestamp. */
bfd_true, /* _update_armap_timestamp */ bfd_true, /* _update_armap_timestamp */

View File

@@ -103,7 +103,7 @@ extern reloc_howto_type * xcoff64_reloc_type_lookup
extern boolean _bfd_xcoff_slurp_armap PARAMS ((bfd *)); extern boolean _bfd_xcoff_slurp_armap PARAMS ((bfd *));
extern PTR _bfd_xcoff_read_ar_hdr PARAMS ((bfd *)); extern PTR _bfd_xcoff_read_ar_hdr PARAMS ((bfd *));
extern bfd *_bfd_xcoff_openr_next_archived_file PARAMS ((bfd *, bfd *)); extern bfd *_bfd_xcoff_openr_next_archived_file PARAMS ((bfd *, bfd *));
extern int _bfd_xcoff_generic_stat_arch_elt PARAMS ((bfd *, struct stat *)); extern int _bfd_xcoff_stat_arch_elt PARAMS ((bfd *, struct stat *));
extern boolean _bfd_xcoff_write_armap extern boolean _bfd_xcoff_write_armap
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int)); PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
extern boolean _bfd_xcoff_write_archive_contents PARAMS ((bfd *)); extern boolean _bfd_xcoff_write_archive_contents PARAMS ((bfd *));
@@ -2579,7 +2579,7 @@ const bfd_target rs6000coff64_vec =
_bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */ _bfd_xcoff_read_ar_hdr, /* _read_ar_hdr */
xcoff64_openr_next_archived_file, /* _openr_next_archived_file */ xcoff64_openr_next_archived_file, /* _openr_next_archived_file */
_bfd_generic_get_elt_at_index, /* _get_elt_at_index */ _bfd_generic_get_elt_at_index, /* _get_elt_at_index */
_bfd_xcoff_generic_stat_arch_elt, /* _generic_dtat_arch_elt */ _bfd_xcoff_stat_arch_elt, /* _generic_stat_arch_elt */
/* XCOFF archives do not have /* XCOFF archives do not have
a timestamp. */ a timestamp. */
bfd_true, /* _update_armap_timestamp */ bfd_true, /* _update_armap_timestamp */