Downgrade linker error on protected symbols in .dynbss to a warning
authorAlan Modra <amodra@gmail.com>
Fri, 10 Apr 2015 00:39:34 +0000 (10:09 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 10 Apr 2015 09:46:47 +0000 (19:16 +0930)
PR ld/18222
* elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
on adding a protected visibility variable to .dynbss.

bfd/ChangeLog
bfd/elflink.c

index f1d9343..f50ae75 100644 (file)
@@ -1,5 +1,11 @@
 2015-04-10  Alan Modra  <amodra@gmail.com>
 
+       PR ld/18222
+       * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
+       on adding a protected visibility variable to .dynbss.
+
+2015-04-10  Alan Modra  <amodra@gmail.com>
+
        Revert 2015-03-05  H.J. Lu  <hongjiu.lu@intel.com>
        PR ld/pr15228
        PR ld/pr17709
index 183b313..5bc9e9b 100644 (file)
@@ -2674,13 +2674,9 @@ _bfd_elf_adjust_dynamic_copy (struct bfd_link_info *info,
   dynbss->size += h->size;
 
   if (h->protected_def)
-    {
-      info->callbacks->einfo
-       (_("%P: copy reloc against protected `%T' is invalid\n"),
-        h->root.root.string);
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
+    info->callbacks->einfo
+      (_("%P: copy reloc against protected `%T' is dangerous\n"),
+       h->root.root.string);
 
   return TRUE;
 }