summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/bfd
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-12-07 23:44:07 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-12-07 23:44:07 +0000
commitfc14e904c36ecb88d8205c56a0655baeaadec904 (patch)
tree731a442db57274af6cd3d82a0e11a27647144596 /contrib/binutils/bfd
parentba6ede960b612c9531a63bb67bb150730d83f230 (diff)
downloadFreeBSD-src-fc14e904c36ecb88d8205c56a0655baeaadec904.zip
FreeBSD-src-fc14e904c36ecb88d8205c56a0655baeaadec904.tar.gz
Try a more generic version of the last two fixes. Assuming this is correct,
it should also be MI. The problem here arises when ld ends up linking a link-once section with relocations against sections that point back to it that are as yet unresolved. Instead of piecemeal finding sections we think are potentially subject to this issue, just defer processing for sections that have yet to be relocated instead of immediately bailing.
Diffstat (limited to 'contrib/binutils/bfd')
-rw-r--r--contrib/binutils/bfd/elf64-ppc.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/contrib/binutils/bfd/elf64-ppc.c b/contrib/binutils/bfd/elf64-ppc.c
index f9f8ae9..c69be3b 100644
--- a/contrib/binutils/bfd/elf64-ppc.c
+++ b/contrib/binutils/bfd/elf64-ppc.c
@@ -9750,10 +9750,7 @@ ppc64_elf_action_discarded (asection *sec)
if (strcmp (".toc1", sec->name) == 0)
return 0;
- if (strcmp (".got", sec->name) == 0)
- return 0;
-
- if (strcmp (".got1", sec->name) == 0)
+ if (sec->flags & SEC_RELOC)
return 0;
return _bfd_elf_default_action_discarded (sec);
OpenPOWER on IntegriCloud