OSDN Git Service

Generalize DWARF2 and COFF support.
authornickc <nickc>
Fri, 8 Dec 2000 22:50:07 +0000 (22:50 +0000)
committernickc <nickc>
Fri, 8 Dec 2000 22:50:07 +0000 (22:50 +0000)
17 files changed:
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/coffcode.h
bfd/coffgen.c
bfd/configure
bfd/configure.in
bfd/dwarf2.c
bfd/elf-bfd.h
bfd/elf.c
bfd/elf32-arm.h
bfd/elf32-mips.c
bfd/libbfd-in.h
bfd/libbfd.h
bfd/libcoff-in.h
bfd/libcoff.h
bfd/po/bfd.pot

index b19f1fd..dfdcff5 100644 (file)
@@ -1,3 +1,31 @@
+2000-12-08  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here...
+         (BFD_LIBS): ...to here.
+         (BFD32_BACKENDS_CFILES): Move dwarf2.c from here...
+         (BFD_LIBS_CFILES): ...to here.
+       * Makefile.in: Regenerate.
+       * configure.in: Remove dwarf.lo from the elf shell variable.
+       * configure: Regenerate.
+       * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info.
+       * libcoff.h: Regenerate.
+       * coffgen.c (coff_find_nearest_line): Call 
+         _bfd_dwarf2_find_nearest_line.
+       * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update
+         accordingly.
+         (read_abbrevs): Likewise
+         (decode_line_info): Likewise.
+         (parse_comp_unit): Likewise.
+         (comp_unit_find_nearest_line): Likewise.
+       * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
+       * libbfd.h: Regenerate.
+       * elf.c (_bfd_elf_find_nearest_line): Update call.
+       * elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR.
+       * dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH.
+       * coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros.
+         (sec_to_styp_flags): Use them. Handle DWARF2 sections.
+         (styp_to_sec_flags): Handle DWARF2 sections.
+
 2000-12-08  Kazu Hirata  <kazu@hxi.com>
 
        * coffgen.c: Fix formatting.
index 0b23247..435b706 100644 (file)
@@ -29,13 +29,15 @@ BFD_LIBS = \
        archive.lo archures.lo bfd.lo cache.lo coffgen.lo corefile.lo \
        format.lo init.lo libbfd.lo opncls.lo reloc.lo \
        section.lo syms.lo targets.lo hash.lo linker.lo \
-       srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo
+       srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \
+       dwarf2.lo
 
 BFD_LIBS_CFILES = \
        archive.c archures.c bfd.c cache.c coffgen.c corefile.c \
        format.c init.c libbfd.c opncls.c reloc.c \
        section.c syms.c targets.c hash.c linker.c \
-       srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c
+       srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \
+       dwarf2.c
 
 # This list is alphabetized to make it easier to keep in sync
 # with the decls and initializer in archures.c.
@@ -167,7 +169,6 @@ BFD32_BACKENDS = \
        coff-z8k.lo \
        cofflink.lo \
        dwarf1.lo \
-       dwarf2.lo \
        ecoff.lo \
        ecofflink.lo \
        efi-app-ia32.lo \
@@ -306,7 +307,6 @@ BFD32_BACKENDS_CFILES = \
        coff-z8k.c \
        cofflink.c \
        dwarf1.c \
-       dwarf2.c \
        ecoff.c \
        ecofflink.c \
        efi-app-ia32.c \
index e8779b8..9c41c79 100644 (file)
@@ -148,14 +148,16 @@ BFD_LIBS = \
        archive.lo archures.lo bfd.lo cache.lo coffgen.lo corefile.lo \
        format.lo init.lo libbfd.lo opncls.lo reloc.lo \
        section.lo syms.lo targets.lo hash.lo linker.lo \
-       srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo
+       srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \
+       dwarf2.lo
 
 
 BFD_LIBS_CFILES = \
        archive.c archures.c bfd.c cache.c coffgen.c corefile.c \
        format.c init.c libbfd.c opncls.c reloc.c \
        section.c syms.c targets.c hash.c linker.c \
-       srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c
+       srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \
+       dwarf2.c
 
 
 # This list is alphabetized to make it easier to keep in sync
@@ -290,7 +292,6 @@ BFD32_BACKENDS = \
        coff-z8k.lo \
        cofflink.lo \
        dwarf1.lo \
-       dwarf2.lo \
        ecoff.lo \
        ecofflink.lo \
        efi-app-ia32.lo \
@@ -430,7 +431,6 @@ BFD32_BACKENDS_CFILES = \
        coff-z8k.c \
        cofflink.c \
        dwarf1.c \
-       dwarf2.c \
        ecoff.c \
        ecofflink.c \
        efi-app-ia32.c \
@@ -675,7 +675,7 @@ LTLIBRARIES =  $(lib_LTLIBRARIES)
 libbfd_la_OBJECTS =  archive.lo archures.lo bfd.lo cache.lo coffgen.lo \
 corefile.lo format.lo init.lo libbfd.lo opncls.lo reloc.lo section.lo \
 syms.lo targets.lo hash.lo linker.lo srec.lo binary.lo tekhex.lo \
-ihex.lo stabs.lo stab-syms.lo
+ihex.lo stabs.lo stab-syms.lo dwarf2.lo
 CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
index 9c3b2cd..1dac3c3 100644 (file)
@@ -349,6 +349,19 @@ static PTR coff_mkobject_hook PARAMS ((bfd *, PTR,  PTR));
 
 #ifndef COFF_WITH_PE
 
+/* Macros for setting debugging flags.  */
+#ifdef STYP_DEBUG
+#define STYP_XCOFF_DEBUG STYP_DEBUG
+#else
+#define STYP_XCOFF_DEBUG STYP_INFO
+#endif
+
+#ifdef COFF_ALIGN_IN_S_FLAGS
+#define STYP_DEBUG_INFO STYP_DSECT
+#else
+#define STYP_DEBUG_INFO STYP_INFO
+#endif
+
 static long
 sec_to_styp_flags (sec_name, sec_flags)
      CONST char *sec_name;
@@ -386,22 +399,24 @@ sec_to_styp_flags (sec_name, sec_flags)
       styp_flags = STYP_LIT;
 #endif /* _LIT */
     }
-  else if (!strcmp (sec_name, ".debug"))
+  else if (!strncmp (sec_name, ".debug", 6))
     {
-#ifdef STYP_DEBUG
-      styp_flags = STYP_DEBUG;
-#else
-      styp_flags = STYP_INFO;
-#endif
+      /* Handle the XCOFF debug section and DWARF2 debug sections.  */
+      if (!sec_name[6])
+        styp_flags = STYP_XCOFF_DEBUG;
+      else
+        styp_flags = STYP_DEBUG_INFO;
     }
   else if (!strncmp (sec_name, ".stab", 5))
     {
-#ifdef COFF_ALIGN_IN_S_FLAGS
-      styp_flags = STYP_DSECT;
-#else
-      styp_flags = STYP_INFO;
-#endif
+      styp_flags = STYP_DEBUG_INFO;
     }
+#ifdef COFF_LONG_SECTION_NAMES
+  else if (!strncmp (sec_name, ".gnu.linkonce.wi.", 17))
+    {
+      styp_flags = STYP_DEBUG_INFO;
+    }
+#endif
 #ifdef RS6000COFF_C
   else if (!strcmp (sec_name, _PAD))
     {
@@ -626,10 +641,13 @@ styp_to_sec_flags (abfd, hdr, name, section)
 #endif
        sec_flags |= SEC_ALLOC;
     }
-  else if (strcmp (name, ".debug") == 0
+  else if (strncmp (name, ".debug", 6) == 0
 #ifdef _COMMENT
           || strcmp (name, _COMMENT) == 0
 #endif
+#ifdef COFF_LONG_SECTION_NAMES
+          || strncmp (name, ".gnu.linkonce.wi.", 17) == 0
+#endif
           || strncmp (name, ".stab", 5) == 0)
     {
 #ifdef COFF_PAGE_SIZE
index d16c577..35ac1b9 100644 (file)
@@ -2185,9 +2185,17 @@ coff_find_nearest_line (abfd, section, symbols, offset, filename_ptr,
   if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset,
                                             &found, filename_ptr,
                                             functionname_ptr, line_ptr,
-                                            &coff_data (abfd)->line_info))
+                                            &coff_data(abfd)->line_info))
     return false;
-  if (found)
+
+  /* Also try examining DWARF2 debugging information.  */
+  if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
+                                    filename_ptr, functionname_ptr,
+                                    line_ptr, 0,
+                                    &coff_data(abfd)->dwarf2_find_line_info))
+    return true;
+
+if (found)
     return true;
 
   *filename_ptr = 0;
index a06155e..370ef0c 100755 (executable)
@@ -5899,7 +5899,7 @@ selarchs="$f"
 # Target backend .o files.
 tb=
 
-elf="elf.lo elflink.lo dwarf2.lo dwarf1.lo"
+elf="elf.lo elflink.lo dwarf1.lo"
 
 for vec in $selvecs
 do
index fd8a076..0c7fd42 100644 (file)
@@ -448,7 +448,7 @@ selarchs="$f"
 # Target backend .o files.
 tb=
 
-elf="elf.lo elflink.lo dwarf2.lo dwarf1.lo"
+elf="elf.lo elflink.lo dwarf1.lo"
 
 for vec in $selvecs
 do
index 203641e..42f3052 100644 (file)
@@ -402,18 +402,16 @@ lookup_abbrev (number,abbrevs)
    in a hash table.  */
 
 static struct abbrev_info**
-read_abbrevs (abfd, offset)
+read_abbrevs (abfd, offset, stash)
      bfd * abfd;
      unsigned int offset;
+     struct dwarf2_debug *stash;
 {
   struct abbrev_info **abbrevs;
   char *abbrev_ptr;
   struct abbrev_info *cur_abbrev;
   unsigned int abbrev_number, bytes_read, abbrev_name;
   unsigned int abbrev_form, hash_number;
-  struct dwarf2_debug *stash;
-
-  stash = elf_tdata(abfd)->dwarf2_find_line_info;
 
   if (! stash->dwarf_abbrev_buffer)
     {
@@ -701,7 +699,7 @@ concat_filename (table, file)
     }
 
   filename = table->files[file - 1].name;
-  if (*filename == '/')
+  if (IS_ABSOLUTE_PATH(filename))
     return filename;
 
   else
@@ -761,11 +759,11 @@ arange_add (unit, low_pc, high_pc)
 /* Decode the line number information for UNIT.  */
 
 static struct line_info_table*
-decode_line_info (unit)
+decode_line_info (unit, stash)
      struct comp_unit *unit;
+     struct dwarf2_debug *stash;
 {
   bfd *abfd = unit->abfd;
-  struct dwarf2_debug *stash;
   struct line_info_table* table;
   char *line_ptr;
   char *line_end;
@@ -774,8 +772,6 @@ decode_line_info (unit)
   char *cur_file, *cur_dir;
   unsigned char op_code, extended_op, adj_opcode;
 
-  stash = elf_tdata (abfd)->dwarf2_find_line_info;
-
   if (! stash->dwarf_line_buffer)
     {
       asection *msec;
@@ -1233,10 +1229,10 @@ scan_unit_for_functions (unit)
    to get to the line number information for the compilation unit.  */
 
 static struct comp_unit *
-parse_comp_unit (abfd, info_ptr, end_ptr, abbrev_length)
+parse_comp_unit (abfd, stash, unit_length, abbrev_length)
      bfd* abfd;
-     char* info_ptr;
-     char* end_ptr;
+     struct dwarf2_debug *stash;
+     bfd_vma unit_length;
      unsigned int abbrev_length;
 {
   struct comp_unit* unit;
@@ -1250,6 +1246,9 @@ parse_comp_unit (abfd, info_ptr, end_ptr, abbrev_length)
   struct abbrev_info *abbrev;
   struct attribute attr;
 
+  char *info_ptr = stash->info_ptr;
+  char *end_ptr = info_ptr + unit_length;
+  
   version = read_2_bytes (abfd, info_ptr);
   info_ptr += 2;
   BFD_ASSERT (abbrev_length == 0
@@ -1287,7 +1286,7 @@ parse_comp_unit (abfd, info_ptr, end_ptr, abbrev_length)
     }
 
   /* Read the abbrevs for this compilation unit into a table.  */
-  abbrevs = read_abbrevs (abfd, abbrev_offset);
+  abbrevs = read_abbrevs (abfd, abbrev_offset, stash);
   if (! abbrevs)
       return 0;
 
@@ -1400,12 +1399,14 @@ comp_unit_contains_address (unit, addr)
 
 static boolean
 comp_unit_find_nearest_line (unit, addr,
-                            filename_ptr, functionname_ptr, linenumber_ptr)
+                            filename_ptr, functionname_ptr, linenumber_ptr,
+                            stash)
      struct comp_unit* unit;
      bfd_vma addr;
      const char **filename_ptr;
      const char **functionname_ptr;
      unsigned int *linenumber_ptr;
+     struct dwarf2_debug *stash;
 {
   boolean line_p;
   boolean func_p;
@@ -1421,7 +1422,7 @@ comp_unit_find_nearest_line (unit, addr,
          return false;
        }
 
-      unit->line_table = decode_line_info (unit);
+      unit->line_table = decode_line_info (unit, stash);
 
       if (! unit->line_table)
        {
@@ -1493,7 +1494,7 @@ boolean
 _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
                               filename_ptr, functionname_ptr,
                               linenumber_ptr,
-                              addr_size)
+                              addr_size, pinfo)
      bfd *abfd;
      asection *section;
      asymbol **symbols ATTRIBUTE_UNUSED;
@@ -1502,6 +1503,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
      const char **functionname_ptr;
      unsigned int *linenumber_ptr;
      unsigned int addr_size;
+     PTR *pinfo;
 {
   /* Read each compilation unit from the section .debug_info, and check
      to see if it contains the address we are searching for.  If yes,
@@ -1511,7 +1513,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
      We keep a list of all the previously read compilation units, and
      a pointer to the next un-read compilation unit.  Check the
      previously read units before reading more.  */
-  struct dwarf2_debug *stash = elf_tdata (abfd)->dwarf2_find_line_info;
+  struct dwarf2_debug *stash = (struct dwarf2_debug *) *pinfo;
 
   /* What address are we looking for?  */
   bfd_vma addr = offset + section->vma;
@@ -1534,17 +1536,19 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
       unsigned long total_size;
       asection *msec;
 
-      stash = elf_tdata (abfd)->dwarf2_find_line_info =
+      stash =
        (struct dwarf2_debug*) bfd_zalloc (abfd, sizeof (struct dwarf2_debug));
       if (! stash)
        return false;
 
+      *pinfo = (PTR) stash;
+      
       msec = find_debug_info (abfd, NULL);
       if (! msec)
        /* No dwarf2 info.  Note that at this point the stash
           has been allocated, but contains zeros, this lets
           future calls to this function fail quicker.  */
-       return false;
+        return false;
 
       /* There can be more than one DWARF2 info section in a BFD these days.
          Read them all in and produce one large stash.  We do this in two
@@ -1606,7 +1610,8 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
   for (each = stash->all_comp_units; each; each = each->next_unit)
     if (comp_unit_contains_address (each, addr))
       return comp_unit_find_nearest_line (each, addr, filename_ptr,
-                                         functionname_ptr, linenumber_ptr);
+                                         functionname_ptr, linenumber_ptr,
+                                         stash);
 
   /* Read each remaining comp. units checking each as they are read.  */
   while (stash->info_ptr < stash->info_ptr_end)
@@ -1623,9 +1628,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
 
       if (length > 0)
         {
-         each = parse_comp_unit (abfd, stash->info_ptr,
-                                 stash->info_ptr + length,
-                                 addr_size);
+         each = parse_comp_unit (abfd, stash, length, addr_size);
          stash->info_ptr += length;
 
          if (each)
@@ -1644,14 +1647,16 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
                    return comp_unit_find_nearest_line (each, addr,
                                                       filename_ptr,
                                                       functionname_ptr,
-                                                      linenumber_ptr);
+                                                      linenumber_ptr,
+                                                      stash);
                }
              else
                {
                  found = comp_unit_find_nearest_line (each, addr,
                                                       filename_ptr,
                                                       functionname_ptr,
-                                                      linenumber_ptr);
+                                                      linenumber_ptr,
+                                                      stash);
                  if (found)
                    return true;
                }
index 574411c..d88e4a3 100644 (file)
@@ -877,7 +877,7 @@ struct elf_obj_tdata
   struct dwarf1_debug *dwarf1_find_line_info;
 
   /* A place to stash dwarf2 info for this bfd. */
-  struct dwarf2_debug *dwarf2_find_line_info;
+  PTR dwarf2_find_line_info;
 
   /* An array of stub sections indexed by symbol number, used by the
      MIPS ELF linker.  FIXME: We should figure out some way to only
index 2f81105..85665d3 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -5003,7 +5003,8 @@ _bfd_elf_find_nearest_line (abfd,
 
   if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
                                     filename_ptr, functionname_ptr,
-                                    line_ptr, 0))
+                                    line_ptr, 0,
+                                    &elf_tdata (abfd)->dwarf2_find_line_info))
     return true;
 
   if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset,
index 52dc756..4b910a8 100644 (file)
@@ -2642,7 +2642,7 @@ elf32_arm_find_nearest_line
 
   if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
                                     filename_ptr, functionname_ptr,
-                                    line_ptr, 0))
+                                    line_ptr, 0, NULL))
     return true;
 
   if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset,
index 4a44ae2..9af14d6 100644 (file)
@@ -3736,7 +3736,7 @@ _bfd_mips_elf_find_nearest_line (abfd, section, symbols, offset, filename_ptr,
   if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
                                     filename_ptr, functionname_ptr,
                                     line_ptr,
-                                    ABI_64_P (abfd) ? 8 : 0))
+                                    ABI_64_P (abfd) ? 8 : 0, NULL))
     return true;
 
   msec = bfd_get_section_by_name (abfd, ".mdebug");
index 87a5c33..fb5f210 100644 (file)
@@ -365,7 +365,8 @@ extern boolean _bfd_dwarf1_find_nearest_line
 /* Find the nearest line using DWARF 2 debugging information.  */
 extern boolean _bfd_dwarf2_find_nearest_line
   PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **,
-          const char **, unsigned int *, unsigned int));
+          const char **, unsigned int *, unsigned int,
+          PTR *));
 
 /* A routine to create entries for a bfd_link_hash_table.  */
 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
index eea5661..7973575 100644 (file)
@@ -365,7 +365,8 @@ extern boolean _bfd_dwarf1_find_nearest_line
 /* Find the nearest line using DWARF 2 debugging information.  */
 extern boolean _bfd_dwarf2_find_nearest_line
   PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **,
-          const char **, unsigned int *, unsigned int));
+          const char **, unsigned int *, unsigned int,
+          PTR *));
 
 /* A routine to create entries for a bfd_link_hash_table.  */
 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
index 544e9e1..e5f5f9e 100644 (file)
@@ -100,6 +100,9 @@ typedef struct coff_tdata
   /* Used by coff_find_nearest_line.  */
   PTR line_info;
 
+  /* A place to stash dwarf2 info for this bfd. */
+  PTR dwarf2_find_line_info;
+
   /* The timestamp from the COFF file header.  */
   long timestamp;
 
index cf2e99f..5115538 100644 (file)
@@ -100,6 +100,9 @@ typedef struct coff_tdata
   /* Used by coff_find_nearest_line.  */
   PTR line_info;
 
+  /* A place to stash dwarf2 info for this bfd. */
+  PTR dwarf2_find_line_info;
+
   /* The timestamp from the COFF file header.  */
   long timestamp;
 
index a9392f1..2de1a0e 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-12-01 17:03-0800\n"
+"POT-Creation-Date: 2000-12-08 14:45-0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -199,27 +199,27 @@ msgstr ""
 msgid "GP relative relocation when GP not defined"
 msgstr ""
 
-#: coff-arm.c:1018 elf32-arm.h:248
+#: coff-arm.c:1018 elf32-arm.h:246
 #, c-format
 msgid "%s: unable to find THUMB glue '%s' for `%s'"
 msgstr ""
 
-#: coff-arm.c:1047 elf32-arm.h:283
+#: coff-arm.c:1047 elf32-arm.h:281
 #, c-format
 msgid "%s: unable to find ARM glue '%s' for `%s'"
 msgstr ""
 
-#: coff-arm.c:1335 coff-arm.c:1430 elf32-arm.h:843 elf32-arm.h:948
+#: coff-arm.c:1335 coff-arm.c:1430 elf32-arm.h:841 elf32-arm.h:946
 #, c-format
 msgid "%s(%s): warning: interworking not enabled."
 msgstr ""
 
-#: coff-arm.c:1339 elf32-arm.h:951
+#: coff-arm.c:1339 elf32-arm.h:949
 #, c-format
 msgid "  first occurrence: %s: arm call to thumb"
 msgstr ""
 
-#: coff-arm.c:1434 elf32-arm.h:846
+#: coff-arm.c:1434 elf32-arm.h:844
 #, c-format
 msgid "  first occurrence: %s: thumb call to arm"
 msgstr ""
@@ -286,7 +286,7 @@ msgstr ""
 msgid "private flags = %x:"
 msgstr ""
 
-#: coff-arm.c:2294 elf32-arm.h:2212
+#: coff-arm.c:2294 elf32-arm.h:2210
 msgid " [floats passed in float registers]"
 msgstr ""
 
@@ -294,7 +294,7 @@ msgstr ""
 msgid " [floats passed in integer registers]"
 msgstr ""
 
-#: coff-arm.c:2299 elf32-arm.h:2215
+#: coff-arm.c:2299 elf32-arm.h:2213
 msgid " [position independent]"
 msgstr ""
 
@@ -326,47 +326,47 @@ msgstr ""
 msgid "Warning: Clearing the interworking flag of %s due to outside request"
 msgstr ""
 
-#: coffcode.h:2116
+#: coffcode.h:2134
 #, c-format
 msgid "Unrecognized TI COFF target id '0x%x'"
 msgstr ""
 
-#: coffcode.h:4174
+#: coffcode.h:4192
 #, c-format
 msgid "%s: warning: illegal symbol index %ld in line numbers"
 msgstr ""
 
-#: coffcode.h:4188
+#: coffcode.h:4206
 #, c-format
 msgid "%s: warning: duplicate line number information for `%s'"
 msgstr ""
 
-#: coffcode.h:4548
+#: coffcode.h:4566
 #, c-format
 msgid "%s: Unrecognized storage class %d for %s symbol `%s'"
 msgstr ""
 
-#: coffcode.h:4679
+#: coffcode.h:4697
 #, c-format
 msgid "warning: %s: local symbol `%s' has no section"
 msgstr ""
 
-#: coff-tic54x.c:376 coffcode.h:4790
+#: coff-tic54x.c:376 coffcode.h:4808
 #, c-format
 msgid "%s: warning: illegal symbol index %ld in relocs"
 msgstr ""
 
-#: coffcode.h:4828
+#: coffcode.h:4846
 #, c-format
 msgid "%s: illegal relocation type %d at address 0x%lx"
 msgstr ""
 
-#: coffgen.c:1633
+#: coffgen.c:1631
 #, c-format
 msgid "%s: bad string table size %lu"
 msgstr ""
 
-#: coffgen.c:2096
+#: coffgen.c:2093
 #, c-format
 msgid "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld"
 msgstr ""
@@ -395,7 +395,7 @@ msgstr ""
 msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: coff-m68k.c:475 coff-mips.c:2432 elf32-m68k.c:2267
+#: coff-m68k.c:475 coff-mips.c:2432 elf32-m68k.c:2265
 msgid "unsupported reloc type"
 msgstr ""
 
@@ -423,57 +423,57 @@ msgstr ""
 msgid "ignoring reloc %s\n"
 msgstr ""
 
-#: dwarf2.c:425
+#: dwarf2.c:423
 msgid "Dwarf Error: Can't find .debug_abbrev section."
 msgstr ""
 
-#: dwarf2.c:443
+#: dwarf2.c:441
 #, c-format
 msgid "Dwarf Error: Abbrev offset (%u) bigger than abbrev size (%u)."
 msgstr ""
 
-#: dwarf2.c:626
+#: dwarf2.c:624
 #, c-format
 msgid "Dwarf Error: Invalid or unhandled FORM value: %d."
 msgstr ""
 
-#: dwarf2.c:699
+#: dwarf2.c:697
 msgid "Dwarf Error: mangled line number section (bad file number)."
 msgstr ""
 
-#: dwarf2.c:786
+#: dwarf2.c:782
 msgid "Dwarf Error: Can't find .debug_line section."
 msgstr ""
 
-#: dwarf2.c:810
+#: dwarf2.c:806
 #, c-format
 msgid "Dwarf Error: Line offset (%u) bigger than line size (%u)."
 msgstr ""
 
-#: dwarf2.c:977
+#: dwarf2.c:973
 msgid "Dwarf Error: mangled line number section."
 msgstr ""
 
-#: dwarf2.c:1156 dwarf2.c:1307
+#: dwarf2.c:1152 dwarf2.c:1306
 #, c-format
 msgid "Dwarf Error: Could not find abbrev number %d."
 msgstr ""
 
-#: dwarf2.c:1268
+#: dwarf2.c:1267
 #, c-format
 msgid ""
 "Dwarf Error: found dwarf version '%hu', this reader only handles version 2 "
 "information."
 msgstr ""
 
-#: dwarf2.c:1275
+#: dwarf2.c:1274
 #, c-format
 msgid ""
 "Dwarf Error: found address size '%u', this reader can not handle sizes "
 "greater than '%u'."
 msgstr ""
 
-#: dwarf2.c:1298
+#: dwarf2.c:1297
 #, c-format
 msgid "Dwarf Error: Bad abbrev number: %d."
 msgstr ""
@@ -539,186 +539,186 @@ msgid ""
 "      Type: %s"
 msgstr ""
 
-#: elf32-arm.h:1181
+#: elf32-arm.h:1179
 #, c-format
 msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
 msgstr ""
 
-#: elf32-arm.h:1377
+#: elf32-arm.h:1375
 #, c-format
 msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
 msgstr ""
 
-#: elf-hppa.h:1374 elf-hppa.h:1407 elf32-arm.h:1855 elf32-i386.c:1430
-#: elf32-ppc.c:3106 elf32-sh.c:2999 elf64-x86-64.c:275
+#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1853 elf32-i386.c:1428
+#: elf32-ppc.c:3096 elf32-sh.c:2985 elf64-x86-64.c:271
 #, c-format
 msgid ""
 "%s: warning: unresolvable relocation against symbol `%s' from %s section"
 msgstr ""
 
-#: elf-m10200.c:455 elf-m10300.c:670 elf32-arm.h:1929 elf32-avr.c:844
-#: elf32-cris.c:431 elf32-d10v.c:479 elf32-fr30.c:651 elf32-i860.c:1062
-#: elf32-m32r.c:1265 elf32-v850.c:1677
+#: elf-m10200.c:455 elf-m10300.c:669 elf32-arm.h:1927 elf32-avr.c:842
+#: elf32-cris.c:431 elf32-d10v.c:478 elf32-fr30.c:651 elf32-i860.c:1051
+#: elf32-m32r.c:1265 elf32-v850.c:1672
 msgid "internal error: out of range error"
 msgstr ""
 
-#: elf-m10200.c:459 elf-m10300.c:674 elf32-arm.h:1933 elf32-avr.c:848
-#: elf32-cris.c:435 elf32-d10v.c:483 elf32-fr30.c:655 elf32-i860.c:1066
-#: elf32-m32r.c:1269 elf32-v850.c:1681
+#: elf-m10200.c:459 elf-m10300.c:673 elf32-arm.h:1931 elf32-avr.c:846
+#: elf32-cris.c:435 elf32-d10v.c:482 elf32-fr30.c:655 elf32-i860.c:1055
+#: elf32-m32r.c:1269 elf32-v850.c:1676
 msgid "internal error: unsupported relocation error"
 msgstr ""
 
-#: elf-m10200.c:463 elf-m10300.c:678 elf32-arm.h:1937 elf32-d10v.c:487
+#: elf-m10200.c:463 elf-m10300.c:677 elf32-arm.h:1935 elf32-d10v.c:486
 #: elf32-m32r.c:1273
 msgid "internal error: dangerous error"
 msgstr ""
 
-#: elf-m10200.c:467 elf-m10300.c:682 elf32-arm.h:1941 elf32-avr.c:856
-#: elf32-cris.c:443 elf32-d10v.c:491 elf32-fr30.c:663 elf32-i860.c:1074
-#: elf32-m32r.c:1277 elf32-v850.c:1701
+#: elf-m10200.c:467 elf-m10300.c:681 elf32-arm.h:1939 elf32-avr.c:854
+#: elf32-cris.c:443 elf32-d10v.c:490 elf32-fr30.c:663 elf32-i860.c:1063
+#: elf32-m32r.c:1277 elf32-v850.c:1696
 msgid "internal error: unknown error"
 msgstr ""
 
-#: elf32-arm.h:1969
+#: elf32-arm.h:1967
 #, c-format
 msgid ""
 "Warning: Not setting interwork flag of %s since it has already been "
 "specified as non-interworking"
 msgstr ""
 
-#: elf32-arm.h:1973
+#: elf32-arm.h:1971
 #, c-format
 msgid "Warning: Clearing the interwork flag of %s due to outside request"
 msgstr ""
 
-#: elf32-arm.h:2021
+#: elf32-arm.h:2019
 #, c-format
 msgid ""
 "Warning: Clearing the interwork flag in %s because non-interworking code in "
 "%s has been linked with it"
 msgstr ""
 
-#: elf32-arm.h:2115
+#: elf32-arm.h:2113
 #, c-format
 msgid ""
 "Error: %s compiled for EABI version %d, whereas %s is compiled for version %d"
 msgstr ""
 
-#: elf32-arm.h:2129
+#: elf32-arm.h:2127
 #, c-format
 msgid "Error: %s compiled for APCS-%d, whereas %s is compiled for APCS-%d"
 msgstr ""
 
-#: elf32-arm.h:2140
+#: elf32-arm.h:2138
 #, c-format
 msgid ""
 "Error: %s passes floats in %s registers, whereas %s passes them in %s "
 "registers"
 msgstr ""
 
-#: elf32-arm.h:2143 elf32-arm.h:2145
+#: elf32-arm.h:2141 elf32-arm.h:2143
 msgid "float"
 msgstr ""
 
-#: elf32-arm.h:2143 elf32-arm.h:2145
+#: elf32-arm.h:2141 elf32-arm.h:2143
 msgid "integer"
 msgstr ""
 
-#: elf32-arm.h:2152
+#: elf32-arm.h:2150
 #, c-format
 msgid "Error: %s uses %s floating point, whereas %s uses %s floating point"
 msgstr ""
 
-#: elf32-arm.h:2155 elf32-arm.h:2157
+#: elf32-arm.h:2153 elf32-arm.h:2155
 msgid "soft"
 msgstr ""
 
-#: elf32-arm.h:2155 elf32-arm.h:2157
+#: elf32-arm.h:2153 elf32-arm.h:2155
 msgid "hard"
 msgstr ""
 
-#: elf32-arm.h:2164
+#: elf32-arm.h:2162
 #, c-format
 msgid "Warning: %s %s interworking, whereas %s %s"
 msgstr ""
 
-#: elf32-arm.h:2167
+#: elf32-arm.h:2165
 msgid "supports"
 msgstr ""
 
-#: elf32-arm.h:2167
+#: elf32-arm.h:2165
 msgid "does not support"
 msgstr ""
 
-#: elf32-arm.h:2169
+#: elf32-arm.h:2167
 msgid "does not"
 msgstr ""
 
-#: elf32-arm.h:2169
+#: elf32-arm.h:2167
 msgid "does"
 msgstr ""
 
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
-#: elf32-arm.h:2195 elf32-cris.c:615 elf32-m68k.c:430 elf32-mips.c:2659
+#: elf32-arm.h:2193 elf32-cris.c:615 elf32-m68k.c:430 elf32-mips.c:2682
 #, c-format
 msgid "private flags = %lx:"
 msgstr ""
 
-#: elf32-arm.h:2204
+#: elf32-arm.h:2202
 msgid " [interworking enabled]"
 msgstr ""
 
-#: elf32-arm.h:2207
+#: elf32-arm.h:2205
 msgid " [APCS-26]"
 msgstr ""
 
-#: elf32-arm.h:2209
+#: elf32-arm.h:2207
 msgid " [APCS-32]"
 msgstr ""
 
-#: elf32-arm.h:2218
+#: elf32-arm.h:2216
 msgid " [new ABI]"
 msgstr ""
 
-#: elf32-arm.h:2221
+#: elf32-arm.h:2219
 msgid " [old ABI]"
 msgstr ""
 
-#: elf32-arm.h:2224
+#: elf32-arm.h:2222
 msgid " [software FP]"
 msgstr ""
 
-#: elf32-arm.h:2231
+#: elf32-arm.h:2229
 msgid " [Version1 EABI]"
 msgstr ""
 
-#: elf32-arm.h:2234
+#: elf32-arm.h:2232
 msgid " [sorted symbol table]"
 msgstr ""
 
-#: elf32-arm.h:2236
+#: elf32-arm.h:2234
 msgid " [unsorted symbol table]"
 msgstr ""
 
-#: elf32-arm.h:2242
+#: elf32-arm.h:2240
 msgid " <EABI version unrecognised>"
 msgstr ""
 
-#: elf32-arm.h:2249
+#: elf32-arm.h:2247
 msgid " [relocatable executable]"
 msgstr ""
 
-#: elf32-arm.h:2252
+#: elf32-arm.h:2250
 msgid " [has entry point]"
 msgstr ""
 
-#: elf32-arm.h:2257
+#: elf32-arm.h:2255
 msgid "<Unrecognised flag bits set>"
 msgstr ""
 
-#: elf32-avr.c:852 elf32-cris.c:439 elf32-fr30.c:659 elf32-i860.c:1070
-#: elf32-v850.c:1685
+#: elf32-avr.c:850 elf32-cris.c:439 elf32-fr30.c:659 elf32-i860.c:1059
+#: elf32-v850.c:1680
 msgid "internal error: dangerous relocation"
 msgstr ""
 
@@ -736,65 +736,65 @@ msgstr ""
 msgid "%s: uses non-prefixed symbols, but writing file with _-prefixed symbols"
 msgstr ""
 
-#: elf32-hppa.c:620
+#: elf32-hppa.c:606
 #, c-format
 msgid "%s(%s+0x%lx): cannot find stub entry %s"
 msgstr ""
 
-#: elf32-hppa.c:682
+#: elf32-hppa.c:667
 #, c-format
 msgid "%s: cannot create stub entry %s"
 msgstr ""
 
-#: elf32-hppa.c:876
+#: elf32-hppa.c:859
 #, c-format
 msgid "%s(%s+0x%lx): cannot relocate %s, recompile with -ffunction-sections"
 msgstr ""
 
-#: elf32-hppa.c:889 elf32-hppa.c:1590
+#: elf32-hppa.c:872 elf32-hppa.c:1568
 #, c-format
 msgid "Could not find relocation section for %s"
 msgstr ""
 
-#: elf32-hppa.c:1028 elf32-hppa.c:3396
+#: elf32-hppa.c:1011 elf32-hppa.c:3362
 #, c-format
 msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections"
 msgstr ""
 
-#: elf32-hppa.c:1345
+#: elf32-hppa.c:1323
 #, c-format
 msgid ""
 "%s: relocation %s can not be used when making a shared object; recompile "
 "with -fPIC"
 msgstr ""
 
-#: elf32-hppa.c:1365
+#: elf32-hppa.c:1343
 #, c-format
 msgid ""
 "%s: relocation %s should not be used when making a shared object; recompile "
 "with -fPIC"
 msgstr ""
 
-#: elf32-hppa.c:2786
+#: elf32-hppa.c:2755
 #, c-format
 msgid "%s: duplicate export stub %s"
 msgstr ""
 
-#: elf32-hppa.c:3287
+#: elf32-hppa.c:3253
 #, c-format
 msgid "%s(%s+0x%lx): fixing %s"
 msgstr ""
 
-#: elf32-hppa.c:3891
+#: elf32-hppa.c:3856
 #, c-format
 msgid "%s(%s+0x%lx): cannot handle %s for %s"
 msgstr ""
 
-#: elf32-hppa.c:4210
+#: elf32-hppa.c:4173
 msgid ".got section not immediately after .plt section"
 msgstr ""
 
-#: elf32-i386.c:274
+#: elf32-i386.c:273
 #, c-format
 msgid "%s: invalid relocation type %d"
 msgstr ""
@@ -803,7 +803,7 @@ msgstr ""
 msgid "SDA relocation when _SDA_BASE_ not defined"
 msgstr ""
 
-#: elf32-m32r.c:1000 elf32-ppc.c:2973
+#: elf32-m32r.c:1000 elf32-ppc.c:2963
 #, c-format
 msgid "%s: unknown relocation type %d"
 msgstr ""
@@ -835,12 +835,12 @@ msgstr ""
 msgid " [cpu32]"
 msgstr ""
 
-#: elf32-mcore.c:367 elf32-mcore.c:494
+#: elf32-mcore.c:366 elf32-mcore.c:493
 #, c-format
 msgid "%s: Relocation %s (%d) is not currently supported.\n"
 msgstr ""
 
-#: elf32-mcore.c:453
+#: elf32-mcore.c:452
 #, c-format
 msgid "%s: Unknown relocation type %d\n"
 msgstr ""
@@ -854,293 +854,293 @@ msgstr ""
 msgid "Linking mips16 objects into %s format is not supported"
 msgstr ""
 
-#: elf32-mips.c:2546
+#: elf32-mips.c:2569
 #, c-format
 msgid "%s: linking PIC files with non-PIC files"
 msgstr ""
 
-#: elf32-mips.c:2556
+#: elf32-mips.c:2579
 #, c-format
 msgid "%s: linking abicalls files with non-abicalls files"
 msgstr ""
 
-#: elf32-mips.c:2585
+#: elf32-mips.c:2608
 #, c-format
 msgid "%s: ISA mismatch (-mips%d) with previous modules (-mips%d)"
 msgstr ""
 
-#: elf32-mips.c:2594
+#: elf32-mips.c:2617
 #, c-format
 msgid "%s: ISA mismatch (%d) with previous modules (%d)"
 msgstr ""
 
-#: elf32-mips.c:2617
+#: elf32-mips.c:2640
 #, c-format
 msgid "%s: ABI mismatch: linking %s module with previous %s modules"
 msgstr ""
 
-#: elf32-mips.c:2631 elf32-ppc.c:1481 elf64-sparc.c:2974
+#: elf32-mips.c:2654 elf32-ppc.c:1477 elf64-sparc.c:2971
 #, c-format
 msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
 msgstr ""
 
-#: elf32-mips.c:2662
+#: elf32-mips.c:2685
 msgid " [abi=O32]"
 msgstr ""
 
-#: elf32-mips.c:2664
+#: elf32-mips.c:2687
 msgid " [abi=O64]"
 msgstr ""
 
-#: elf32-mips.c:2666
+#: elf32-mips.c:2689
 msgid " [abi=EABI32]"
 msgstr ""
 
-#: elf32-mips.c:2668
+#: elf32-mips.c:2691
 msgid " [abi=EABI64]"
 msgstr ""
 
-#: elf32-mips.c:2670
+#: elf32-mips.c:2693
 msgid " [abi unknown]"
 msgstr ""
 
-#: elf32-mips.c:2672
+#: elf32-mips.c:2695
 msgid " [abi=N32]"
 msgstr ""
 
-#: elf32-mips.c:2674
+#: elf32-mips.c:2697
 msgid " [abi=64]"
 msgstr ""
 
-#: elf32-mips.c:2676
+#: elf32-mips.c:2699
 msgid " [no abi set]"
 msgstr ""
 
-#: elf32-mips.c:2679
+#: elf32-mips.c:2702
 msgid " [mips1]"
 msgstr ""
 
-#: elf32-mips.c:2681
+#: elf32-mips.c:2704
 msgid " [mips2]"
 msgstr ""
 
-#: elf32-mips.c:2683
+#: elf32-mips.c:2706
 msgid " [mips3]"
 msgstr ""
 
-#: elf32-mips.c:2685
+#: elf32-mips.c:2708
 msgid " [mips4]"
 msgstr ""
 
-#: elf32-mips.c:2687
+#: elf32-mips.c:2710
 msgid " [mips5]"
 msgstr ""
 
-#: elf32-mips.c:2689
+#: elf32-mips.c:2712
 msgid " [mips32]"
 msgstr ""
 
-#: elf32-mips.c:2691
+#: elf32-mips.c:2714
 msgid " [mips64]"
 msgstr ""
 
-#: elf32-mips.c:2693
+#: elf32-mips.c:2716
 msgid " [unknown ISA]"
 msgstr ""
 
-#: elf32-mips.c:2696
+#: elf32-mips.c:2719
 msgid " [32bitmode]"
 msgstr ""
 
-#: elf32-mips.c:2698
+#: elf32-mips.c:2721
 msgid " [not 32bitmode]"
 msgstr ""
 
-#: elf32-mips.c:4347
+#: elf32-mips.c:4370
 msgid "static procedure (no name)"
 msgstr ""
 
-#: elf32-mips.c:4962 elf64-alpha.c:4378
+#: elf32-mips.c:4985 elf64-alpha.c:4378
 #, c-format
 msgid "%s: illegal section name `%s'"
 msgstr ""
 
-#: elf32-mips.c:5526
+#: elf32-mips.c:5549
 msgid "not enough GOT space for local GOT entries"
 msgstr ""
 
-#: elf32-mips.c:6643
+#: elf32-mips.c:6666
 #, c-format
 msgid "%s: %s+0x%lx: jump to stub routine which is not jal"
 msgstr ""
 
-#: elf32-mips.c:7630
+#: elf32-mips.c:7653
 #, c-format
 msgid "Malformed reloc detected for section %s"
 msgstr ""
 
-#: elf32-mips.c:7707
+#: elf32-mips.c:7730
 #, c-format
 msgid "%s: CALL16 reloc at 0x%lx not against global symbol"
 msgstr ""
 
-#: elf32-ppc.c:1447
+#: elf32-ppc.c:1443
 #, c-format
 msgid ""
 "%s: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr ""
 
-#: elf32-ppc.c:1455
+#: elf32-ppc.c:1451
 #, c-format
 msgid ""
 "%s: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr ""
 
-#: elf32-ppc.c:1582
+#: elf32-ppc.c:1578
 #, c-format
 msgid "%s: Unknown special linker type %d"
 msgstr ""
 
-#: elf32-ppc.c:2253 elf32-ppc.c:2287 elf32-ppc.c:2322
+#: elf32-ppc.c:2245 elf32-ppc.c:2279 elf32-ppc.c:2314
 #, c-format
 msgid "%s: relocation %s cannot be used when making a shared object"
 msgstr ""
 
-#: elf32-ppc.c:3139
+#: elf32-ppc.c:3129
 #, c-format
 msgid "%s: unknown relocation type %d for symbol %s"
 msgstr ""
 
-#: elf32-ppc.c:3503 elf32-ppc.c:3525 elf32-ppc.c:3574
+#: elf32-ppc.c:3493 elf32-ppc.c:3514 elf32-ppc.c:3564
 #, c-format
 msgid ""
 "%s: The target (%s) of a %s relocation is in the wrong output section (%s)"
 msgstr ""
 
-#: elf32-ppc.c:3640
+#: elf32-ppc.c:3630
 #, c-format
 msgid "%s: Relocation %s is not yet supported for symbol %s."
 msgstr ""
 
-#: elf32-sh.c:1084
+#: elf32-sh.c:1081
 #, c-format
 msgid "%s: 0x%lx: warning: bad R_SH_USES offset"
 msgstr ""
 
-#: elf32-sh.c:1096
+#: elf32-sh.c:1093
 #, c-format
 msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"
 msgstr ""
 
-#: elf32-sh.c:1113
+#: elf32-sh.c:1110
 #, c-format
 msgid "%s: 0x%lx: warning: bad R_SH_USES load offset"
 msgstr ""
 
-#: elf32-sh.c:1128
+#: elf32-sh.c:1125
 #, c-format
 msgid "%s: 0x%lx: warning: could not find expected reloc"
 msgstr ""
 
-#: elf32-sh.c:1165
+#: elf32-sh.c:1162
 #, c-format
 msgid "%s: 0x%lx: warning: symbol in unexpected section"
 msgstr ""
 
-#: elf32-sh.c:1287
+#: elf32-sh.c:1284
 #, c-format
 msgid "%s: 0x%lx: warning: could not find expected COUNT reloc"
 msgstr ""
 
-#: elf32-sh.c:1296
+#: elf32-sh.c:1293
 #, c-format
 msgid "%s: 0x%lx: warning: bad count"
 msgstr ""
 
-#: elf32-sh.c:1689 elf32-sh.c:2076
+#: elf32-sh.c:1686 elf32-sh.c:2073
 #, c-format
 msgid "%s: 0x%lx: fatal: reloc overflow while relaxing"
 msgstr ""
 
-#: elf32-sparc.c:1515 elf64-sparc.c:2265
+#: elf32-sparc.c:1512 elf64-sparc.c:2262
 #, c-format
 msgid "%s: probably compiled without -fPIC?"
 msgstr ""
 
-#: elf32-sparc.c:1966
+#: elf32-sparc.c:1962
 #, c-format
 msgid "%s: compiled for a 64 bit system and target is 32 bit"
 msgstr ""
 
-#: elf32-sparc.c:1980
+#: elf32-sparc.c:1976
 #, c-format
 msgid "%s: linking little endian files with big endian files"
 msgstr ""
 
-#: elf32-v850.c:680
+#: elf32-v850.c:677
 #, c-format
 msgid "Variable `%s' cannot occupy in multiple small data regions"
 msgstr ""
 
-#: elf32-v850.c:683
+#: elf32-v850.c:680
 #, c-format
 msgid ""
 "Variable `%s' can only be in one of the small, zero, and tiny data regions"
 msgstr ""
 
-#: elf32-v850.c:686
+#: elf32-v850.c:683
 #, c-format
 msgid ""
 "Variable `%s' cannot be in both small and zero data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:689
+#: elf32-v850.c:686
 #, c-format
 msgid ""
 "Variable `%s' cannot be in both small and tiny data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:692
+#: elf32-v850.c:689
 #, c-format
 msgid ""
 "Variable `%s' cannot be in both zero and tiny data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:1070
+#: elf32-v850.c:1066
 msgid "FAILED to find previous HI16 reloc\n"
 msgstr ""
 
-#: elf32-v850.c:1689
+#: elf32-v850.c:1684
 msgid "could not locate special linker symbol __gp"
 msgstr ""
 
-#: elf32-v850.c:1693
+#: elf32-v850.c:1688
 msgid "could not locate special linker symbol __ep"
 msgstr ""
 
-#: elf32-v850.c:1697
+#: elf32-v850.c:1692
 msgid "could not locate special linker symbol __ctbp"
 msgstr ""
 
-#: elf32-v850.c:1886
+#: elf32-v850.c:1881
 #, c-format
 msgid "%s: Architecture mismatch with previous modules"
 msgstr ""
 
-#: elf32-v850.c:1905
+#: elf32-v850.c:1900
 #, c-format
 msgid "private flags = %lx: "
 msgstr ""
 
-#: elf32-v850.c:1910
+#: elf32-v850.c:1905
 msgid "v850 architecture"
 msgstr ""
 
-#: elf32-v850.c:1911
+#: elf32-v850.c:1906
 msgid "v850e architecture"
 msgstr ""
 
-#: elf32-v850.c:1912
+#: elf32-v850.c:1907
 msgid "v850ea architecture"
 msgstr ""
 
@@ -1153,32 +1153,32 @@ msgstr ""
 msgid "%s: .got subsegment exceeds 64K (size %d)"
 msgstr ""
 
-#: elf64-sparc.c:1250
+#: elf64-sparc.c:1248
 #, c-format
 msgid "%s: check_relocs: unhandled reloc type %d"
 msgstr ""
 
-#: elf64-sparc.c:1287
+#: elf64-sparc.c:1285
 msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER"
 msgstr ""
 
-#: elf64-sparc.c:1307
+#: elf64-sparc.c:1305
 msgid ""
 "Register %%g%d used incompatibly: previously declared in %s to %s, in %s "
 "redefined to %s"
 msgstr ""
 
-#: elf64-sparc.c:1330
+#: elf64-sparc.c:1328
 #, c-format
 msgid "Symbol `%s' has differing types: previously %s, REGISTER in %s"
 msgstr ""
 
-#: elf64-sparc.c:1376
+#: elf64-sparc.c:1374
 #, c-format
 msgid "Symbol `%s' has differing types: REGISTER in %s, %s in %s"
 msgstr ""
 
-#: elf64-sparc.c:2955
+#: elf64-sparc.c:2952
 #, c-format
 msgid "%s: linking UltraSPARC specific with HAL specific code"
 msgstr ""
@@ -1271,7 +1271,7 @@ msgstr ""
 msgid "%s: warning: Empty loadable segment detected\n"
 msgstr ""
 
-#: elf.c:5212
+#: elf.c:5213
 #, c-format
 msgid "%s: unsupported relocation type %s"
 msgstr ""