* dwarf2.h: Mention the location of the DWARF3 spec on the web.
[deliverable/binutils-gdb.git] / binutils / objcopy.c
index 4d69033756137e4ac80d3f15672f56e6e8a52b5d..b89de4656193cbb458483eed4995b2f64515d14f 100644 (file)
@@ -7,7 +7,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -64,7 +64,10 @@ section_rename;
 /* List of sections to be renamed.  */
 static section_rename *section_rename_list;
 
-#define RETURN_NONFATAL(s) {bfd_nonfatal (s); status = 1; return;}
+#define RETURN_NONFATAL(bfd) \
+  do { \
+    status = 1; bfd_nonfatal_message (NULL, bfd, NULL, NULL); return; \
+  } while (0)
 
 static asymbol **isympp = NULL;        /* Input symbols.  */
 static asymbol **osympp = NULL;        /* Output symbols that survive stripping.  */
@@ -910,8 +913,7 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms,
 {
   asymbol **from = isyms, **to = osyms;
   long src_count = 0, dst_count = 0;
-  int relocatable = (abfd->flags & (HAS_RELOC | EXEC_P | DYNAMIC))
-                   == HAS_RELOC;
+  int relocatable = (abfd->flags & (EXEC_P | DYNAMIC)) == 0;
 
   for (; src_count < symcount; src_count++)
     {
@@ -1071,7 +1073,7 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms,
            }
 
          if (!undefined
-             && (flags & BSF_LOCAL) 
+             && (flags & BSF_LOCAL)
              && is_specified_symbol (name, globalize_specific_list))
            {
              sym->flags &= ~ BSF_LOCAL;
@@ -1214,7 +1216,7 @@ add_redefine_syms_file (const char *filename)
          if (buf[0] != '\0')
            redefine_list_append (filename, &buf[0], &buf[outsym_off]);
 
-         lineno++;     
+         lineno++;
          len = 0;
          outsym_off = 0;
          if (c == EOF)
@@ -1255,7 +1257,7 @@ copy_unknown_object (bfd *ibfd, bfd *obfd)
 
   if (bfd_stat_arch_elt (ibfd, &buf) != 0)
     {
-      bfd_nonfatal (bfd_get_archive_filename (ibfd));
+      bfd_nonfatal_message (bfd_get_archive_filename (ibfd), NULL, NULL, NULL);
       return FALSE;
     }
 
@@ -1288,7 +1290,8 @@ copy_unknown_object (bfd *ibfd, bfd *obfd)
       if (bfd_bread (cbuf, (bfd_size_type) tocopy, ibfd)
          != (bfd_size_type) tocopy)
        {
-         bfd_nonfatal (bfd_get_archive_filename (ibfd));
+         bfd_nonfatal_message (bfd_get_archive_filename (ibfd),
+                               NULL, NULL, NULL);
          free (cbuf);
          return FALSE;
        }
@@ -1296,7 +1299,7 @@ copy_unknown_object (bfd *ibfd, bfd *obfd)
       if (bfd_bwrite (cbuf, (bfd_size_type) tocopy, obfd)
          != (bfd_size_type) tocopy)
        {
-         bfd_nonfatal (bfd_get_filename (obfd));
+         bfd_nonfatal_message (NULL, obfd, NULL, NULL);
          free (cbuf);
          return FALSE;
        }
@@ -1333,7 +1336,7 @@ copy_object (bfd *ibfd, bfd *obfd)
 
   if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
     {
-      bfd_nonfatal (bfd_get_filename (obfd));
+      bfd_nonfatal_message (NULL, obfd, NULL, NULL);
       return FALSE;
     }
 
@@ -1367,7 +1370,8 @@ copy_object (bfd *ibfd, bfd *obfd)
       if (!bfd_set_start_address (obfd, start)
          || !bfd_set_file_flags (obfd, flags))
        {
-         bfd_nonfatal (bfd_get_archive_filename (ibfd));
+         bfd_nonfatal_message (bfd_get_archive_filename (ibfd),
+                               NULL, NULL, NULL);
          return FALSE;
        }
     }
@@ -1391,7 +1395,7 @@ copy_object (bfd *ibfd, bfd *obfd)
 
   if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
     {
-      bfd_nonfatal (bfd_get_archive_filename (ibfd));
+      bfd_nonfatal_message (bfd_get_archive_filename (ibfd), NULL, NULL, NULL);
       return FALSE;
     }
 
@@ -1407,7 +1411,7 @@ copy_object (bfd *ibfd, bfd *obfd)
   symsize = bfd_get_symtab_upper_bound (ibfd);
   if (symsize < 0)
     {
-      bfd_nonfatal (bfd_get_archive_filename (ibfd));
+      bfd_nonfatal_message (bfd_get_archive_filename (ibfd), NULL, NULL, NULL);
       return FALSE;
     }
 
@@ -1415,7 +1419,7 @@ copy_object (bfd *ibfd, bfd *obfd)
   symcount = bfd_canonicalize_symtab (ibfd, isympp);
   if (symcount < 0)
     {
-      bfd_nonfatal (bfd_get_filename (ibfd));
+      bfd_nonfatal_message (NULL, ibfd, NULL, NULL);
       return FALSE;
     }
 
@@ -1423,12 +1427,7 @@ copy_object (bfd *ibfd, bfd *obfd)
      any output is done.  Thus, we traverse all sections multiple times.  */
   bfd_map_over_sections (ibfd, setup_section, obfd);
 
-  /* Don't copy headers when creating an ELF format debug info file.  */
-  if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour
-      && strip_symbols == STRIP_NONDEBUG)
-    ;
-  else
-    setup_bfd_headers (ibfd, obfd);
+  setup_bfd_headers (ibfd, obfd);
 
   if (add_sections != NULL)
     {
@@ -1451,7 +1450,8 @@ copy_object (bfd *ibfd, bfd *obfd)
             error codes, so check for the most likely user error first.  */
          if (bfd_get_section_by_name (obfd, padd->name))
            {
-             non_fatal (_("can't add section '%s' - it already exists!"), padd->name);
+             bfd_nonfatal_message (NULL, obfd, NULL,
+                                _("can't add section '%s'"), padd->name);
              return FALSE;
            }
          else
@@ -1459,15 +1459,16 @@ copy_object (bfd *ibfd, bfd *obfd)
              padd->section = bfd_make_section_with_flags (obfd, padd->name, flags);
              if (padd->section == NULL)
                {
-                 non_fatal (_("can't create section `%s': %s"),
-                            padd->name, bfd_errmsg (bfd_get_error ()));
+                 bfd_nonfatal_message (NULL, obfd, NULL,
+                                       _("can't create section `%s'"),
+                                       padd->name);
                  return FALSE;
                }
            }
 
          if (! bfd_set_section_size (obfd, padd->section, padd->size))
            {
-             bfd_nonfatal (bfd_get_filename (obfd));
+             bfd_nonfatal_message (NULL, obfd, padd->section, NULL);
              return FALSE;
            }
 
@@ -1477,7 +1478,7 @@ copy_object (bfd *ibfd, bfd *obfd)
                if (! bfd_set_section_vma (obfd, padd->section,
                                           pset->vma_val))
                  {
-                   bfd_nonfatal (bfd_get_filename (obfd));
+                   bfd_nonfatal_message (NULL, obfd, padd->section, NULL);
                    return FALSE;
                  }
 
@@ -1489,7 +1490,7 @@ copy_object (bfd *ibfd, bfd *obfd)
                      (obfd, padd->section,
                       bfd_section_alignment (obfd, padd->section)))
                    {
-                     bfd_nonfatal (bfd_get_filename (obfd));
+                     bfd_nonfatal_message (NULL, obfd, padd->section, NULL);
                      return FALSE;
                    }
                }
@@ -1504,7 +1505,9 @@ copy_object (bfd *ibfd, bfd *obfd)
 
       if (gnu_debuglink_section == NULL)
        {
-         bfd_nonfatal (gnu_debuglink_filename);
+         bfd_nonfatal_message (NULL, obfd, NULL,
+                               _("cannot create debug link section `%s'"),
+                               gnu_debuglink_filename);
          return FALSE;
        }
 
@@ -1595,9 +1598,8 @@ copy_object (bfd *ibfd, bfd *obfd)
                  if (! bfd_set_section_size (obfd, osections[i],
                                              size + (gap_stop - gap_start)))
                    {
-                     non_fatal (_("Can't fill gap after %s: %s"),
-                                bfd_get_section_name (obfd, osections[i]),
-                                bfd_errmsg (bfd_get_error ()));
+                     bfd_nonfatal_message (NULL, obfd, osections[i],
+                                           _("Can't fill gap after section"));
                      status = 1;
                      break;
                    }
@@ -1620,9 +1622,8 @@ copy_object (bfd *ibfd, bfd *obfd)
              if (! bfd_set_section_size (obfd, osections[c - 1],
                                          pad_to - lma))
                {
-                 non_fatal (_("Can't add padding to %s: %s"),
-                            bfd_get_section_name (obfd, osections[c - 1]),
-                            bfd_errmsg (bfd_get_error ()));
+                 bfd_nonfatal_message (NULL, obfd, osections[c - 1],
+                                       _("can't add padding"));
                  status = 1;
                }
              else
@@ -1701,7 +1702,7 @@ copy_object (bfd *ibfd, bfd *obfd)
          if (! bfd_set_section_contents (obfd, padd->section, padd->contents,
                                          0, padd->size))
            {
-             bfd_nonfatal (bfd_get_filename (obfd));
+             bfd_nonfatal_message (NULL, obfd, padd->section, NULL);
              return FALSE;
            }
        }
@@ -1712,7 +1713,9 @@ copy_object (bfd *ibfd, bfd *obfd)
       if (! bfd_fill_in_gnu_debuglink_section
          (obfd, gnu_debuglink_section, gnu_debuglink_filename))
        {
-         bfd_nonfatal (gnu_debuglink_filename);
+         bfd_nonfatal_message (NULL, obfd, NULL,
+                               _("cannot fill debug link section `%s'"),
+                               gnu_debuglink_filename);
          return FALSE;
        }
     }
@@ -1751,7 +1754,7 @@ copy_object (bfd *ibfd, bfd *obfd)
                  if (! bfd_set_section_contents (obfd, osections[i], buf,
                                                  off, now))
                    {
-                     bfd_nonfatal (bfd_get_filename (obfd));
+                     bfd_nonfatal_message (NULL, obfd, osections[i], NULL);
                      return FALSE;
                    }
 
@@ -1771,16 +1774,10 @@ copy_object (bfd *ibfd, bfd *obfd)
      from the input BFD to the output BFD.  This is done last to
      permit the routine to look at the filtered symbol table, which is
      important for the ECOFF code at least.  */
-  if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour
-      && strip_symbols == STRIP_NONDEBUG)
-    /* Do not copy the private data when creating an ELF format
-       debug info file.  We do not want the program headers.  */
-    ;
-  else if (! bfd_copy_private_bfd_data (ibfd, obfd))
-    {
-      non_fatal (_("%s: error copying private BFD data: %s"),
-                bfd_get_filename (obfd),
-                bfd_errmsg (bfd_get_error ()));
+  if (! bfd_copy_private_bfd_data (ibfd, obfd))
+    {
+      bfd_nonfatal_message (NULL, obfd, NULL,
+                           _("error copying private BFD data"));
       return FALSE;
     }
 
@@ -1839,7 +1836,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
   this_element = bfd_openr_next_archived_file (ibfd, NULL);
 
   if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
-    RETURN_NONFATAL (bfd_get_filename (obfd));
+    RETURN_NONFATAL (obfd);
 
   while (!status && this_element != NULL)
     {
@@ -1896,7 +1893,11 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
            output_bfd = bfd_openw (output_name, bfd_get_target (this_element));
 
          if (output_bfd == NULL)
-           RETURN_NONFATAL (output_name);
+           {
+             bfd_nonfatal_message (output_name, NULL, NULL, NULL);
+             status = 1;
+             return;
+           }
 
          delete = ! copy_object (this_element, output_bfd);
 
@@ -1905,7 +1906,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
            {
              if (!bfd_close (output_bfd))
                {
-                 bfd_nonfatal (bfd_get_filename (output_bfd));
+                 bfd_nonfatal_message (NULL, output_bfd, NULL, NULL);
                  /* Error in new object file. Don't change archive.  */
                  status = 1;
                }
@@ -1915,15 +1916,16 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
        }
       else
        {
-         non_fatal (_("Unable to recognise the format of the input file `%s'"),
-                    bfd_get_archive_filename (this_element));
+         bfd_nonfatal_message (bfd_get_archive_filename (this_element),
+                               NULL, NULL,
+                               _("Unable to recognise the format of file"));
 
          output_bfd = bfd_openw (output_name, output_target);
 copy_unknown_element:
          delete = !copy_unknown_object (this_element, output_bfd);
          if (!bfd_close_all_done (output_bfd))
            {
-             bfd_nonfatal (bfd_get_filename (output_bfd));
+             bfd_nonfatal_message (NULL, output_bfd, NULL, NULL);
              /* Error in new object file. Don't change archive.  */
              status = 1;
            }
@@ -1945,7 +1947,7 @@ copy_unknown_element:
          l->obfd = output_bfd;
 
          *ptr = output_bfd;
-         ptr = &output_bfd->next;
+         ptr = &output_bfd->archive_next;
 
          last_element = this_element;
 
@@ -1957,10 +1959,10 @@ copy_unknown_element:
   *ptr = NULL;
 
   if (!bfd_close (obfd))
-    RETURN_NONFATAL (bfd_get_filename (obfd));
+    RETURN_NONFATAL (obfd);
 
   if (!bfd_close (ibfd))
-    RETURN_NONFATAL (bfd_get_filename (ibfd));
+    RETURN_NONFATAL (obfd);
 
   /* Delete all the files that we opened.  */
   for (l = list; l != NULL; l = l->next)
@@ -1996,7 +1998,11 @@ copy_file (const char *input_filename, const char *output_filename,
      non-object file, failures are nonfatal.  */
   ibfd = bfd_openr (input_filename, input_target);
   if (ibfd == NULL)
-    RETURN_NONFATAL (input_filename);
+    {
+      bfd_nonfatal_message (input_filename, NULL, NULL, NULL);
+      status = 1;
+      return;
+    }
 
   if (bfd_check_format (ibfd, bfd_archive))
     {
@@ -2015,7 +2021,11 @@ copy_file (const char *input_filename, const char *output_filename,
 
       obfd = bfd_openw (output_filename, output_target);
       if (obfd == NULL)
-       RETURN_NONFATAL (output_filename);
+       {
+         bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
+         status = 1;
+         return;
+       }
 
       copy_archive (ibfd, obfd, output_target, force_output_target);
     }
@@ -2031,17 +2041,20 @@ copy_file (const char *input_filename, const char *output_filename,
 
       obfd = bfd_openw (output_filename, output_target);
       if (obfd == NULL)
-       RETURN_NONFATAL (output_filename);
+       {
+         bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
+         status = 1;
+         return;
+       }
 
       if (! copy_object (ibfd, obfd))
        status = 1;
 
       if (!bfd_close (obfd))
-       RETURN_NONFATAL (output_filename);
+       RETURN_NONFATAL (obfd);
 
       if (!bfd_close (ibfd))
-       RETURN_NONFATAL (input_filename);
-
+       RETURN_NONFATAL (ibfd);
     }
   else
     {
@@ -2061,7 +2074,7 @@ copy_file (const char *input_filename, const char *output_filename,
       if (obj_error != core_error)
        bfd_set_error (obj_error);
 
-      bfd_nonfatal (input_filename);
+      bfd_nonfatal_message (input_filename, NULL, NULL, NULL);
 
       if (obj_error == bfd_error_file_ambiguously_recognized)
        {
@@ -2140,24 +2153,18 @@ find_section_rename (bfd * ibfd ATTRIBUTE_UNUSED, sec_ptr isection,
 static void
 setup_bfd_headers (bfd *ibfd, bfd *obfd)
 {
-  const char *err;
-
   /* Allow the BFD backend to copy any private data it understands
      from the input section to the output section.  */
   if (! bfd_copy_private_header_data (ibfd, obfd))
     {
-      err = _("private header data");
-      goto loser;
+      status = 1;
+      bfd_nonfatal_message (NULL, ibfd, NULL,
+                           _("error in private h       eader data"));
+      return;
     }
 
   /* All went well.  */
   return;
-
-loser:
-  non_fatal (_("%s: error in %s: %s"),
-            bfd_get_filename (ibfd),
-            err, bfd_errmsg (bfd_get_error ()));
-  status = 1;
 }
 
 /* Create a section in OBFD with the same
@@ -2176,6 +2183,7 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
   const char *err;
   const char * name;
   char *prefix = NULL;
+  bfd_boolean make_nobits;
 
   if (is_strip_section (ibfd, isection))
     return;
@@ -2204,23 +2212,36 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
       name = n;
     }
 
+  make_nobits = FALSE;
   if (p != NULL && p->set_flags)
     flags = p->flags | (flags & (SEC_HAS_CONTENTS | SEC_RELOC));
-  else if (strip_symbols == STRIP_NONDEBUG && (flags & SEC_ALLOC) != 0)
-    flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD);
+  else if (strip_symbols == STRIP_NONDEBUG
+          && (flags & SEC_ALLOC) != 0
+          && (ibfd->xvec->flavour != bfd_target_elf_flavour
+              || elf_section_type (isection) != SHT_NOTE))
+    {
+      flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD);
+      if (obfd->xvec->flavour == bfd_target_elf_flavour)
+       {
+         make_nobits = TRUE;
+
+         /* Twiddle the input section flags so that it seems to
+            elf.c:copy_private_bfd_data that section flags have not
+            changed between input and output sections.  This hack
+            prevents wholesale rewriting of the program headers.  */
+         isection->flags &= ~(SEC_HAS_CONTENTS | SEC_LOAD);
+       }
+    }
 
   osection = bfd_make_section_anyway_with_flags (obfd, name, flags);
 
   if (osection == NULL)
     {
-      err = _("making");
+      err = _("failed to create output section");
       goto loser;
     }
 
-  if (strip_symbols == STRIP_NONDEBUG
-      && obfd->xvec->flavour == bfd_target_elf_flavour
-      && (flags & SEC_ALLOC) != 0
-      && (p == NULL || !p->set_flags))
+  if (make_nobits)
     elf_section_type (osection) = SHT_NOBITS;
 
   size = bfd_section_size (ibfd, isection);
@@ -2230,7 +2251,7 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
     size = 0;
   if (! bfd_set_section_size (obfd, osection, size))
     {
-      err = _("size");
+      err = _("failed to set size");
       goto loser;
     }
 
@@ -2244,7 +2265,7 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
 
   if (! bfd_set_section_vma (obfd, osection, extract_symbol ? 0 : vma))
     {
-      err = _("vma");
+      err = _("failed to set vma");
       goto loser;
     }
 
@@ -2269,7 +2290,7 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
                                  osection,
                                  bfd_section_alignment (ibfd, isection)))
     {
-      err = _("alignment");
+      err = _("failed to set alignment");
       goto loser;
     }
 
@@ -2289,14 +2310,9 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
 
   /* Allow the BFD backend to copy any private data it understands
      from the input section to the output section.  */
-  if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour
-      && strip_symbols == STRIP_NONDEBUG)
-    /* Do not copy the private data when creating an ELF format
-       debug info file.  We do not want the program headers.  */
-    ;
-  else if (!bfd_copy_private_section_data (ibfd, isection, obfd, osection))
-    {
-      err = _("private data");
+  if (!bfd_copy_private_section_data (ibfd, isection, obfd, osection))
+    {
+      err = _("failed to copy private data");
       goto loser;
     }
   else if ((isection->flags & SEC_GROUP) != 0)
@@ -2311,11 +2327,8 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
   return;
 
 loser:
-  non_fatal (_("%s: section `%s': error in %s: %s"),
-            bfd_get_filename (ibfd),
-            bfd_section_name (ibfd, isection),
-            err, bfd_errmsg (bfd_get_error ()));
   status = 1;
+  bfd_nonfatal_message (NULL, obfd, osection, err);
 }
 
 /* Copy the data of input section ISECTION of IBFD
@@ -2367,7 +2380,11 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
          if (relsize == -1 && bfd_get_error () == bfd_error_invalid_operation)
            relsize = 0;
          else
-           RETURN_NONFATAL (bfd_get_filename (ibfd));
+           {
+             status = 1;
+             bfd_nonfatal_message (NULL, ibfd, isection, NULL);
+             return;
+           }
        }
     }
 
@@ -2378,7 +2395,12 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
       relpp = xmalloc (relsize);
       relcount = bfd_canonicalize_reloc (ibfd, isection, relpp, isympp);
       if (relcount < 0)
-       RETURN_NONFATAL (bfd_get_filename (ibfd));
+       {
+         status = 1;
+         bfd_nonfatal_message (NULL, ibfd, isection,
+                               _("relocation count is negative"));
+         return;
+       }
 
       if (strip_symbols == STRIP_ALL)
        {
@@ -2412,7 +2434,11 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
       void *memhunk = xmalloc (size);
 
       if (!bfd_get_section_contents (ibfd, isection, memhunk, 0, size))
-       RETURN_NONFATAL (bfd_get_filename (ibfd));
+       {
+         status = 1;
+         bfd_nonfatal_message (NULL, ibfd, isection, NULL);
+         return;
+       }
 
       if (reverse_bytes)
        {
@@ -2455,8 +2481,11 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
        }
 
       if (!bfd_set_section_contents (obfd, osection, memhunk, 0, size))
-       RETURN_NONFATAL (bfd_get_filename (obfd));
-
+       {
+         status = 1;
+         bfd_nonfatal_message (NULL, obfd, osection, NULL);
+         return;
+       }
       free (memhunk);
     }
   else if (p != NULL && p->set_flags && (p->flags & SEC_HAS_CONTENTS) != 0)
@@ -2471,7 +2500,11 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
 
       memset (memhunk, 0, size);
       if (! bfd_set_section_contents (obfd, osection, memhunk, 0, size))
-       RETURN_NONFATAL (bfd_get_filename (obfd));
+       {
+         status = 1;
+         bfd_nonfatal_message (NULL, obfd, osection, NULL);
+         return;
+       }
       free (memhunk);
     }
 }
@@ -2612,9 +2645,8 @@ write_debugging_info (bfd *obfd, void *dhandle,
          || ! bfd_set_section_alignment (obfd, stabsec, 2)
          || ! bfd_set_section_alignment (obfd, stabstrsec, 0))
        {
-         non_fatal (_("%s: can't create debugging section: %s"),
-                    bfd_get_filename (obfd),
-                    bfd_errmsg (bfd_get_error ()));
+         bfd_nonfatal_message (NULL, obfd, NULL,
+                               _("can't create debugging section"));
          return FALSE;
        }
 
@@ -2626,17 +2658,17 @@ write_debugging_info (bfd *obfd, void *dhandle,
          || ! bfd_set_section_contents (obfd, stabstrsec, strings, 0,
                                         stringsize))
        {
-         non_fatal (_("%s: can't set debugging section contents: %s"),
-                    bfd_get_filename (obfd),
-                    bfd_errmsg (bfd_get_error ()));
+         bfd_nonfatal_message (NULL, obfd, NULL,
+                               _("can't set debugging section contents"));
          return FALSE;
        }
 
       return TRUE;
     }
 
-  non_fatal (_("%s: don't know how to write debugging information for %s"),
-            bfd_get_filename (obfd), bfd_get_target (obfd));
+  bfd_nonfatal_message (NULL, obfd, NULL,
+                       _("don't know how to write debugging information for %s"),
+            bfd_get_target (obfd));
   return FALSE;
 }
 
@@ -2734,7 +2766,7 @@ strip_main (int argc, char *argv[])
       display_info ();
       return 0;
     }
+
   if (show_version)
     print_version ("strip");
 
@@ -2776,8 +2808,8 @@ strip_main (int argc, char *argv[])
 
       if (tmpname == NULL)
        {
-         non_fatal (_("could not create temporary file to hold stripped copy of '%s'"),
-                    argv[i]);
+         bfd_nonfatal_message (argv[i], NULL, NULL,
+                               _("could not create temporary file to hold stripped copy"));
          status = 1;
          continue;
        }
@@ -2808,7 +2840,7 @@ copy_main (int argc, char *argv[])
   char * binary_architecture = NULL;
   char *input_filename = NULL;
   char *output_filename = NULL;
-  char *tmpname;    
+  char *tmpname;
   char *input_target = NULL;
   char *output_target = NULL;
   bfd_boolean show_version = FALSE;
@@ -3347,7 +3379,7 @@ copy_main (int argc, char *argv[])
       display_info ();
       return 0;
     }
+
   if (show_version)
     print_version ("objcopy");
 
@@ -3402,7 +3434,7 @@ copy_main (int argc, char *argv[])
     tmpname = make_tempname (input_filename);
   else
     tmpname = output_filename;
-  
+
   if (tmpname == NULL)
     fatal (_("warning: could not create temporary file whilst copying '%s', (error: %s)"),
           input_filename, strerror (errno));
This page took 0.031584 seconds and 4 git commands to generate.