summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2016-08-20 02:14:14 +0000
committerpfg <pfg@FreeBSD.org>2016-08-20 02:14:14 +0000
commit5b6859c0edac10df6d1e1c6801a3213c95382b1b (patch)
treeb834ac6bb6e2efd64a0e80ab5509e3c065e9979c /contrib
parentc61104e228b303a88081218f2d3b2205da0e6792 (diff)
downloadFreeBSD-src-5b6859c0edac10df6d1e1c6801a3213c95382b1b.zip
FreeBSD-src-5b6859c0edac10df6d1e1c6801a3213c95382b1b.tar.gz
MFC r303147
binutils: fix "Bad value" error in bfd for MIPS when using -Bsymbolic. From OpenBSD's log: Inspired by https://sourceware.org/ml/binutils/2010-08/msg00333.html, but expressed differently so there are no GPLv3 issues. Obtained from: OpenBSD (CVS rev. 1.7)
Diffstat (limited to 'contrib')
-rw-r--r--contrib/binutils/bfd/elfxx-mips.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/binutils/bfd/elfxx-mips.c b/contrib/binutils/bfd/elfxx-mips.c
index 8f4b05d..1a49b0c 100644
--- a/contrib/binutils/bfd/elfxx-mips.c
+++ b/contrib/binutils/bfd/elfxx-mips.c
@@ -4801,7 +4801,7 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd,
/* We must now calculate the dynamic symbol table index to use
in the relocation. */
if (h != NULL
- && (!h->root.def_regular
+ && (sec == NULL || !h->root.def_regular
|| (info->shared && !info->symbolic && !h->root.forced_local)))
{
indx = h->root.dynindx;
OpenPOWER on IntegriCloud