summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/binutils/bfd/elf64-alpha.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/contrib/binutils/bfd/elf64-alpha.c b/contrib/binutils/bfd/elf64-alpha.c
index 972450b..2347ea7 100644
--- a/contrib/binutils/bfd/elf64-alpha.c
+++ b/contrib/binutils/bfd/elf64-alpha.c
@@ -1673,7 +1673,9 @@ elf64_alpha_relax_section (abfd, sec, link_info, again)
#define MAX_GOT_ENTRIES (64*1024 / 8)
-#define ELF_DYNAMIC_INTERPRETER "/usr/libexec/ld-elf.so.1"
+#ifndef ELF_DYNAMIC_INTERPRETER
+#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so"
+#endif
/* Handle an Alpha specific section when reading an object file. This
is called when elfcode.h finds a section with an unknown type.
@@ -3477,14 +3479,17 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
}
else if (h->root.root.type == bfd_link_hash_undefweak)
relocation = 0;
- else if (info->shared && !info->symbolic && !info->no_undefined)
+ else if (info->shared && !info->symbolic
+ && !info->no_undefined
+ && ELF_ST_VISIBILITY (h->root.other) == STV_DEFAULT)
relocation = 0;
else
{
if (!((*info->callbacks->undefined_symbol)
(info, h->root.root.root.string, input_bfd,
input_section, rel->r_offset,
- (!info->shared || info->no_undefined))))
+ (!info->shared || info->no_undefined
+ || ELF_ST_VISIBILITY (h->root.other)))))
return false;
relocation = 0;
}
OpenPOWER on IntegriCloud