* Makefile.am: "make dep-am".
[deliverable/binutils-gdb.git] / bfd / archive.c
index 1faf0c7285ecb464eb2840e61f7b481a245b12d1..fc2ba4572c38823674e4b1725f02175075604cdf 100644 (file)
@@ -132,7 +132,7 @@ DESCRIPTION
 #include "libbfd.h"
 #include "aout/ar.h"
 #include "aout/ranlib.h"
-#include <ctype.h>
+#include "safe-ctype.h"
 
 #ifndef errno
 extern int errno;
@@ -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 *,
@@ -407,7 +408,7 @@ _bfd_generic_read_ar_hdr_mag (abfd, mag)
   else if (hdr.ar_name[0] == '#'
           && hdr.ar_name[1] == '1'
           && hdr.ar_name[2] == '/'
-          && isdigit ((unsigned char) hdr.ar_name[3]))
+          && ISDIGIT (hdr.ar_name[3]))
     {
       /* BSD-4.4 extended name */
       namelen = atoi (&hdr.ar_name[3]);
@@ -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;
@@ -2145,7 +2150,7 @@ coff_write_armap (arch, elength, map, symbol_count, stridx)
      int stridx;
 {
   /* The size of the ranlib is the number of exported symbols in the
-     archive * the number of bytes in a int, + an int for the count.  */
+     archive * the number of bytes in an int, + an int for the count.  */
   unsigned int ranlibsize = (symbol_count * 4) + 4;
   unsigned int stringsize = stridx;
   unsigned int mapsize = stringsize + ranlibsize;
This page took 0.035663 seconds and 4 git commands to generate.