Remove lookup_minimal_symbol_solib_trampoline
[deliverable/binutils-gdb.git] / bfd / elf64-x86-64.c
index ecd4c6d03c6d8c946b0260bc18cbb165e7bbfc90..2f6923927f998d8d03d31495bab82198de4f7b15 100644 (file)
@@ -1422,7 +1422,7 @@ elf_x86_64_need_pic (struct bfd_link_info *info,
            v = _("protected symbol ");
          else
            v = _("symbol ");
-         pic = _("; recompile with -fPIC");
+         pic = NULL;
          break;
        }
 
@@ -1432,15 +1432,24 @@ elf_x86_64_need_pic (struct bfd_link_info *info,
   else
     {
       name = bfd_elf_sym_name (input_bfd, symtab_hdr, isym, NULL);
-      pic = _("; recompile with -fPIC");
+      pic = NULL;
     }
 
   if (bfd_link_dll (info))
-    object = _("a shared object");
-  else if (bfd_link_pie (info))
-    object = _("a PIE object");
+    {
+      object = _("a shared object");
+      if (!pic)
+       pic = _("; recompile with -fPIC");
+    }
   else
-    object = _("a PDE object");
+    {
+      if (bfd_link_pie (info))
+       object = _("a PIE object");
+      else
+       object = _("a PDE object");
+      if (!pic)
+       pic = _("; recompile with -fPIE");
+    }
 
   /* xgettext:c-format */
   _bfd_error_handler (_("%pB: relocation %s against %s%s`%s' can "
@@ -1676,8 +1685,8 @@ convert:
            }
          else
            {
-             nop = link_info->call_nop_byte;
-             if (link_info->call_nop_as_suffix)
+             nop = htab->params->call_nop_byte;
+             if (htab->params->call_nop_as_suffix)
                {
                  nop_offset = irel->r_offset + 3;
                  disp = bfd_get_32 (abfd, contents + irel->r_offset);
@@ -2149,7 +2158,7 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
             run-time relocation overflow.  Don't error out for
             sections we don't care about, such as debug sections or
             when relocation overflow check is disabled.  */
-         if (!info->no_reloc_overflow_check
+         if (!htab->params->no_reloc_overflow_check
              && !converted_reloc
              && (bfd_link_pic (info)
                  || (bfd_link_executable (info)
@@ -2373,9 +2382,7 @@ do_size:
          /* This relocation describes which C++ vtable entries are actually
             used.  Record for later use during GC.  */
        case R_X86_64_GNU_VTENTRY:
-         BFD_ASSERT (h != NULL);
-         if (h != NULL
-             && !bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+         if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
            goto error_return;
          break;
 
@@ -3206,7 +3213,7 @@ direct:
                     convert R_X86_64_32 to dynamic R_X86_64_RELATIVE.  */
                  if (r_type == htab->pointer_r_type
                      || (r_type == R_X86_64_32
-                         && info->no_reloc_overflow_check))
+                         && htab->params->no_reloc_overflow_check))
                    {
                      relocate = TRUE;
                      outrel.r_info = htab->r_info (0, R_X86_64_RELATIVE);
@@ -5048,7 +5055,13 @@ elf_x86_64_link_setup_gnu_properties (struct bfd_link_info *info)
 
   if (get_elf_x86_backend_data (info->output_bfd)->target_os != is_nacl)
     {
-      if (info->bndplt)
+      const struct elf_backend_data *bed
+       = get_elf_backend_data (info->output_bfd);
+      struct elf_x86_link_hash_table *htab
+       = elf_x86_hash_table (info, bed->target_id);
+      if (!htab)
+       abort ();
+      if (htab->params->bndplt)
        {
          init_table.lazy_plt = &elf_x86_64_lazy_bnd_plt;
          init_table.non_lazy_plt = &elf_x86_64_non_lazy_bnd_plt;
This page took 0.024679 seconds and 4 git commands to generate.