aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-06-19 03:30:45 +0000
committerAlan Modra <amodra@gmail.com>2009-06-19 03:30:45 +0000
commit6d78d0b92e4cb8284544af89e9ca3452e46a0bd1 (patch)
tree3e7bcb574fac5fc88da4f763c880f418b38706c9 /bfd/elf32-ppc.c
parent3ec01793a5270f58f4cdb69e6713e9202f61450f (diff)
downloadfsf-binutils-gdb-6d78d0b92e4cb8284544af89e9ca3452e46a0bd1.zip
fsf-binutils-gdb-6d78d0b92e4cb8284544af89e9ca3452e46a0bd1.tar.gz
fsf-binutils-gdb-6d78d0b92e4cb8284544af89e9ca3452e46a0bd1.tar.bz2
* elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for
R_PPC_PLTREL24 relocs. (ppc_elf_relocate_section): Likewise.
Diffstat (limited to 'bfd/elf32-ppc.c')
-rw-r--r--bfd/elf32-ppc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 01e4359..7aafbeb 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. */
{