summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2017-04-15 10:23:36 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2017-04-15 10:23:36 +0000
commitbe31359c1e8117412757a4b536e6440d42a22b6e (patch)
treedd2349684d0102717c42950f61141638dbf92b43
parent34ea586bc9fc1914928cfcc6fec6c5c85c6641ce (diff)
Handle R_SPARC_WPLT30 relocations against a local symbol. Fixes building the
audio/openal port with clang. ok guenther@
-rw-r--r--gnu/usr.bin/binutils-2.17/bfd/elfxx-sparc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils-2.17/bfd/elfxx-sparc.c b/gnu/usr.bin/binutils-2.17/bfd/elfxx-sparc.c
index 6b3abcb4fdd..1e5907aa9e0 100644
--- a/gnu/usr.bin/binutils-2.17/bfd/elfxx-sparc.c
+++ b/gnu/usr.bin/binutils-2.17/bfd/elfxx-sparc.c
@@ -1280,6 +1280,8 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
goto r_sparc_plt32;
break;
}
+ else if (r_type == R_SPARC_WPLT30)
+ break;
/* It does not make sense to have a procedure linkage
table entry for a local symbol. */
@@ -2679,6 +2681,11 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
if (h == NULL)
break;
}
+ else if (r_type == R_SPARC_WPLT30)
+ {
+ if (h == NULL)
+ break;
+ }
else
{
BFD_ASSERT (h != NULL);