ld: Add --enable-separate-code
[deliverable/binutils-gdb.git] / bfd / elf64-sparc.c
index f1f567567d5c422c5991e0045bb071ff0be5efc2..b4c04755ce325b3e14bf55aea55a4f5cd80b955e 100644 (file)
@@ -1,5 +1,5 @@
 /* SPARC-specific support for 64-bit ELF
-   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   Copyright (C) 1993-2018 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -122,15 +122,19 @@ elf64_sparc_slurp_one_reloc_table (bfd *abfd, asection *asect,
       r_type = ELF64_R_TYPE_ID (rela.r_info);
       if (r_type == R_SPARC_OLO10)
        {
-         relent->howto = _bfd_sparc_elf_info_to_howto_ptr (R_SPARC_LO10);
+         relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_LO10);
          relent[1].address = relent->address;
          relent++;
          relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
          relent->addend = ELF64_R_TYPE_DATA (rela.r_info);
-         relent->howto = _bfd_sparc_elf_info_to_howto_ptr (R_SPARC_13);
+         relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_13);
        }
       else
-       relent->howto = _bfd_sparc_elf_info_to_howto_ptr (r_type);
+       {
+         relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, r_type);
+         if (relent->howto == NULL)
+           goto error_return;
+       }
     }
 
   canon_reloc_count (asect) += relent - relents;
@@ -457,7 +461,7 @@ elf64_sparc_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
        case 6: reg -= 4; break;
        default:
          _bfd_error_handler
-           (_("%B: Only registers %%g[2367] can be declared using STT_REGISTER"),
+           (_("%pB: only registers %%g[2367] can be declared using STT_REGISTER"),
             abfd);
          return FALSE;
        }
@@ -478,8 +482,8 @@ elf64_sparc_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
        {
          _bfd_error_handler
            /* xgettext:c-format */
-           (_("Register %%g%d used incompatibly: %s in %B,"
-              " previously %s in %B"),
+           (_("register %%g%d used incompatibly: %s in %pB,"
+              " previously %s in %pB"),
             (int) sym->st_value, **namep ? *namep : "#scratch", abfd,
             *p->name ? p->name : "#scratch", p->abfd);
          return FALSE;
@@ -502,8 +506,8 @@ elf64_sparc_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
                    type = 0;
                  _bfd_error_handler
                    /* xgettext:c-format */
-                   (_("Symbol `%s' has differing types: REGISTER in %B,"
-                      " previously %s in %B"),
+                   (_("symbol `%s' has differing types: REGISTER in %pB,"
+                      " previously %s in %pB"),
                     *namep, abfd, stt_types[type], p->abfd);
                  return FALSE;
                }
@@ -549,8 +553,8 @@ elf64_sparc_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
              type = 0;
            _bfd_error_handler
              /* xgettext:c-format */
-             (_("Symbol `%s' has differing types: %s in %B,"
-                " previously REGISTER in %B"),
+             (_("Symbol `%s' has differing types: %s in %pB,"
+                " previously REGISTER in %pB"),
               *namep, stt_types[type], abfd, p->abfd);
            return FALSE;
          }
@@ -704,7 +708,7 @@ elf64_sparc_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
            {
              error = TRUE;
              _bfd_error_handler
-               (_("%B: linking UltraSPARC specific with HAL specific code"),
+               (_("%pB: linking UltraSPARC specific with HAL specific code"),
                 ibfd);
            }
          /* Choose the most restrictive memory ordering.  */
@@ -724,7 +728,7 @@ elf64_sparc_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
          error = TRUE;
          _bfd_error_handler
            /* xgettext:c-format */
-           (_("%B: uses different e_flags (%#x) fields than previous modules (%#x)"),
+           (_("%pB: uses different e_flags (%#x) fields than previous modules (%#x)"),
             ibfd, new_flags, old_flags);
        }
 
This page took 0.024581 seconds and 4 git commands to generate.