summaryrefslogtreecommitdiff
path: root/bfd/archive.c
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2001-12-05 22:46:21 +0000
committerThiemo Seufer <ths@networkno.de>2001-12-05 22:46:21 +0000
commit9d3f1c3a6777e560a4eec507fb98e8e726c2f346 (patch)
tree4cd7cf096771051684f544447f6a77ef69cf363e /bfd/archive.c
parentf653bbdfea8f69c49a108bff0812fc0b01f97a72 (diff)
downloadgdb-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.c7
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;