bfd/
[deliverable/binutils-gdb.git] / bfd / elf64-sh64.c
index 15c29924d96397579c55350a6d069623ddb665b8..03196c57d97bfbedbdef4bbcdb1013fcbf01e648 100644 (file)
@@ -1703,15 +1703,16 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
            }
          else if (h->root.type == bfd_link_hash_undefweak)
            relocation = 0;
-         else if (info->shared
-                  && !info->symbolic
-                  && info->unresolved_syms_in_objects == RM_IGNORE)
+         else if (info->unresolved_syms_in_objects == RM_IGNORE
+                  && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
            relocation = 0;
          else
            {
              if (! ((*info->callbacks->undefined_symbol)
                     (info, h->root.root.string, input_bfd,
-                     input_section, rel->r_offset, TRUE)))
+                     input_section, rel->r_offset,
+                     (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+                      || ELF_ST_VISIBILITY (h->other)))))
                return FALSE;
              relocation = 0;
            }
This page took 0.02501 seconds and 4 git commands to generate.