From: Alan Modra Date: Fri, 19 Jun 2009 03:30:45 +0000 (+0000) Subject: * elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6d78d0b92e4cb8284544af89e9ca3452e46a0bd1;p=binutils-gdb.git * elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for R_PPC_PLTREL24 relocs. (ppc_elf_relocate_section): Likewise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 612256a3172..f959b450f55 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2009-06-19 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for + R_PPC_PLTREL24 relocs. + (ppc_elf_relocate_section): Likewise. + 2009-06-19 Alan Modra * elf32-ppc.c (find_plt_ent): Pass pointer to plist rather than diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 01e4359f20d..7aafbebf843 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3570,8 +3570,11 @@ ppc_elf_check_relocs (bfd *abfd, h->non_got_ref = TRUE; break; - case R_PPC_PLT32: case R_PPC_PLTREL24: + if (h == NULL) + break; + /* Fall through */ + case R_PPC_PLT32: case R_PPC_PLTREL32: case R_PPC_PLT16_LO: case R_PPC_PLT16_HI: @@ -7210,6 +7213,8 @@ ppc_elf_relocate_section (bfd *output_bfd, break; case R_PPC_PLTREL24: + if (h == NULL) + break; /* Relocation is to the entry for this symbol in the procedure linkage table. */ {