Don't add DT_NEEDED for unmatched symbol
[deliverable/binutils-gdb.git] / bfd / elfxx-sparc.c
index 9bb71a99335199fcc8f423f7aa93648583dedcfe..fc1280526f94306f31da6d4a1ef986e4183c0b63 100644 (file)
@@ -1,5 +1,5 @@
 /* SPARC-specific support for ELF
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2559,7 +2559,7 @@ _bfd_sparc_elf_size_dynamic_sections (bfd *output_bfd,
   if (elf_hash_table (info)->dynamic_sections_created)
     {
       /* Set the contents of the .interp section to the interpreter.  */
-      if (bfd_link_executable (info))
+      if (bfd_link_executable (info) && !info->nointerp)
        {
          s = bfd_get_linker_section (dynobj, ".interp");
          BFD_ASSERT (s != NULL);
@@ -3468,9 +3468,9 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
                memset (&outrel, 0, sizeof outrel);
              /* h->dynindx may be -1 if the symbol was marked to
                 become local.  */
-             else if (h != NULL &&
-                      h->dynindx != -1
-                      && (! is_plt
+             else if (h != NULL
+                      && h->dynindx != -1
+                      && (_bfd_sparc_elf_howto_table[r_type].pc_relative
                           || !bfd_link_pic (info)
                           || !SYMBOLIC_BIND (info, h)
                           || !h->def_regular))
This page took 0.025607 seconds and 4 git commands to generate.