diff options
author | Thiemo Seufer <ths@networkno.de> | 2001-12-05 22:46:21 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2001-12-05 22:46:21 +0000 |
commit | 9d3f1c3a6777e560a4eec507fb98e8e726c2f346 (patch) | |
tree | 4cd7cf096771051684f544447f6a77ef69cf363e /bfd/archive.c | |
parent | f653bbdfea8f69c49a108bff0812fc0b01f97a72 (diff) | |
download | gdb-9d3f1c3a6777e560a4eec507fb98e8e726c2f346.tar.gz |
* Makefile.am: split up BFD_LIBS like statements in BFD32_LIBS and
BFD64_LIBS, make the latter depending on the availability of BFD64.
Add archive64.c source file.
* archive64.c: New file implementing bfd_elf64_archive_slurp_armap
and bfd_elf64_archive_write_armap, code from elf64-mips.c
* archive.c (bfd_slurp_armap): Add ELF64 archive support.
* config.bfd (mips*-*-irix6*): Allow with BFD64 only.
(mips64*el-*-linux*): Likewise.
(mips*el-*-linux*): Likewise. Reorder entries.
* configure.in (bfd_libs): Define in dependency of BFD64 and
AC_SUBST it.
* elf64-mips.c (mips_elf64_slurp_armap): Remove, use
bfd_elf64_archive_slurp_armap instead.
(mips_elf64_write_armap): Remove, use bfd_elf64_archive_write_armap
instead.
Diffstat (limited to 'bfd/archive.c')
-rw-r--r-- | bfd/archive.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bfd/archive.c b/bfd/archive.c index 04be6a90326..fc2ba4572c3 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -164,6 +164,7 @@ static char *get_extended_arelt_filename PARAMS ((bfd *arch, const char *name)); static boolean do_slurp_bsd_armap PARAMS ((bfd *abfd)); static boolean do_slurp_coff_armap PARAMS ((bfd *abfd)); +boolean bfd_elf64_archive_slurp_armap PARAMS ((bfd *abfd)); static const char *normalize PARAMS ((bfd *, const char *file)); static struct areltdata *bfd_ar_hdr_from_filesystem PARAMS ((bfd *abfd, const char *, @@ -934,9 +935,13 @@ bfd_slurp_armap (abfd) return do_slurp_coff_armap (abfd); else if (!strncmp (nextname, "/SYM64/ ", 16)) { - /* Irix 6 archive--must be recognized by code in elf64-mips.c. */ + /* 64bit ELF (Irix 6) archive. */ +#ifdef BFD64 + return bfd_elf64_archive_slurp_armap (abfd); +#else bfd_set_error (bfd_error_wrong_format); return false; +#endif } bfd_has_map (abfd) = false; |