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
commit310f1912d8f85945ac12790e1f772d596cbd4523 (patch)
tree97e54917547f261b8fb43a9f7979d07d5d484166 /bfd/archive.c
parentd1e7ea93df2b3f9b30db0dbcc837dfb383db7ed7 (diff)
downloadbinutils-redhat-310f1912d8f85945ac12790e1f772d596cbd4523.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 04be6a9032..fc2ba4572c 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;