aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-ppc.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2012-08-28 20:17:56 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2012-08-28 20:17:56 +0000
commit14acf4dcaee3b0cee94b481b220d38fc4ff6ae5c (patch)
treec7cf539df9d8e22192c8c487872ca8681eb1f990 /bfd/elf64-ppc.c
parentaed81c4e9cc4f24eba4da3564f0e99bd667188c7 (diff)
downloadgdb-14acf4dcaee3b0cee94b481b220d38fc4ff6ae5c.zip
gdb-14acf4dcaee3b0cee94b481b220d38fc4ff6ae5c.tar.gz
gdb-14acf4dcaee3b0cee94b481b220d38fc4ff6ae5c.tar.bz2
* elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
not minus one. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r--bfd/elf64-ppc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 50dad3b..71403c3 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -13118,6 +13118,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
;
else
{
+ BFD_ASSERT (h->elf.dynindx != -1);
indx = h->elf.dynindx;
unresolved_reloc = FALSE;
}
@@ -13490,7 +13491,10 @@ ppc64_elf_relocate_section (bfd *output_bfd,
else if (!SYMBOL_CALLS_LOCAL (info, &h->elf)
&& !is_opd
&& r_type != R_PPC64_TOC)
- outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
+ {
+ BFD_ASSERT (h->elf.dynindx != -1);
+ outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
+ }
else
{
/* This symbol is local, or marked to become local,