From fc14e904c36ecb88d8205c56a0655baeaadec904 Mon Sep 17 00:00:00 2001 From: nwhitehorn Date: Tue, 7 Dec 2010 23:44:07 +0000 Subject: [PATCH] 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. --- contrib/binutils/bfd/elf64-ppc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/contrib/binutils/bfd/elf64-ppc.c b/contrib/binutils/bfd/elf64-ppc.c index f9f8ae9f4a90..c69be3b99f38 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);