Don't decode powerpc insns with invalid fields
[deliverable/binutils-gdb.git] / bfd / archive.c
index 6fc5f1d80f9ef8be456c45b35bcea42ff3436086..d96c8667eb5f539551c4af2dbc11de117dc13ab3 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD back-end for archive files (libraries).
-   Copyright (C) 1990-2016 Free Software Foundation, Inc.
+   Copyright (C) 1990-2017 Free Software Foundation, Inc.
    Written by Cygnus Support.  Mostly Gumby Henkel-Wallace's fault.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -392,6 +392,7 @@ open_nested_file (const char *filename, bfd *archive)
     {
       n_bfd->lto_output = archive->lto_output;
       n_bfd->no_export = archive->no_export;
+      n_bfd->my_archive = archive;
     }
   return n_bfd;
 }
@@ -2288,7 +2289,7 @@ _bfd_write_archive_contents (bfd *arch)
        {
          if (bfd_update_armap_timestamp (arch))
            break;
-         (*_bfd_error_handler)
+         _bfd_error_handler
            (_("Warning: writing archive was slow: rewriting timestamp\n"));
        }
       while (++tries < 6);
@@ -2400,7 +2401,7 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
                        }
 
                      if (strcmp (syms[src_count]->name, "__gnu_lto_slim") == 0)
-                       (*_bfd_error_handler)
+                       _bfd_error_handler
                          (_("%s: plugin needed to handle lto object"),
                           bfd_get_filename (current));
                      namelen = strlen (syms[src_count]->name);
@@ -2454,11 +2455,11 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
 }
 
 bfd_boolean
-bsd_write_armap (bfd *arch,
-                unsigned int elength,
-                struct orl *map,
-                unsigned int orl_count,
-                int stridx)
+_bfd_bsd_write_armap (bfd *arch,
+                     unsigned int elength,
+                     struct orl *map,
+                     unsigned int orl_count,
+                     int stridx)
 {
   int padit = stridx & 1;
   unsigned int ranlibsize = orl_count * BSD_SYMDEF_SIZE;
@@ -2678,11 +2679,11 @@ _bfd_archive_bsd_update_armap_timestamp (bfd *arch)
    symbol name n-1  */
 
 bfd_boolean
-coff_write_armap (bfd *arch,
-                 unsigned int elength,
-                 struct orl *map,
-                 unsigned int symbol_count,
-                 int stridx)
+_bfd_coff_write_armap (bfd *arch,
+                      unsigned int elength,
+                      struct orl *map,
+                      unsigned int symbol_count,
+                      int stridx)
 {
   /* The size of the ranlib is the number of exported symbols in the
      archive * the number of bytes in an int, + an int for the count.  */
This page took 0.024794 seconds and 4 git commands to generate.