summaryrefslogtreecommitdiff
path: root/bfd/elf32-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2009-06-19 03:30:45 +0000
committerAlan Modra <amodra@bigpond.net.au>2009-06-19 03:30:45 +0000
commitdb101cbe5fbb36b72ec98b5842668d4cfae64743 (patch)
treebb68423d128e50485e9f754d65af8bae6ea94c9c /bfd/elf32-ppc.c
parent240dfca19bb5fcaef46f1dae01f285370a813b97 (diff)
downloadbinutils-redhat-db101cbe5fbb36b72ec98b5842668d4cfae64743.tar.gz
* 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 01e4359f20..7aafbebf84 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. */
{