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 | 310f1912d8f85945ac12790e1f772d596cbd4523 (patch) | |
tree | 97e54917547f261b8fb43a9f7979d07d5d484166 /bfd/archive.c | |
parent | d1e7ea93df2b3f9b30db0dbcc837dfb383db7ed7 (diff) | |
download | binutils-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.c | 7 |
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; |