aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1998-11-01 03:11:16 +0000
committerJeff Law <law@redhat.com>1998-11-01 03:11:16 +0000
commit7a62c80b98e968579cb762a1679551665c94e245 (patch)
treea2947dd6a4b19d8fb3d06a50dfbdf9b3407542b4
parent4e48ea7f0cd3039be303bfe1d45e5e5cc4fcdd63 (diff)
downloadgdb-7a62c80b98e968579cb762a1679551665c94e245.zip
gdb-7a62c80b98e968579cb762a1679551665c94e245.tar.gz
gdb-7a62c80b98e968579cb762a1679551665c94e245.tar.bz2
* elf32-ppc.c (ppc_elf_reload_section): Fix typo.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-ppc.c19
2 files changed, 13 insertions, 10 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9e1c5b0..faef05a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+Sat Oct 31 20:10:09 1998 Jeffrey A Law (law@cygnus.com)
+
+ * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
+
1998-10-26 15:58 Ulrich Drepper <drepper@cygnus.com>
* elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 1b8a8f0..0d3f0d2 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -2761,7 +2761,7 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
for (; rel < relend; rel++)
{
- enum elf_ppc_reloc_type r_type = (enum ppc_reloc_type)ELF32_R_TYPE (rel->r_info);
+ enum elf_ppc_reloc_type r_type = (enum elf_ppc_reloc_type)ELF32_R_TYPE (rel->r_info);
bfd_vma offset = rel->r_offset;
bfd_vma addend = rel->r_addend;
bfd_reloc_status_type r = bfd_reloc_other;
@@ -3286,7 +3286,6 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
BFD_ASSERT (sec != (asection *)0);
name = bfd_get_section_name (abfd, sec->output_section);
if (strcmp (name, ".sdata") != 0
- && strcmp (name, ".dynsbss") != 0
&& strcmp (name, ".sbss") != 0)
{
(*_bfd_error_handler) (_("%s: The target (%s) of a %s relocation is in the wrong output section (%s)"),
@@ -3294,13 +3293,10 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
sym_name,
ppc_elf_howto_table[ (int)r_type ]->name,
name);
-
- bfd_set_error (bfd_error_bad_value);
- ret = false;
- continue;
}
addend -= (sdata->sym_hash->root.u.def.value
- + sec->output_section->vma);
+ + sdata->sym_hash->root.u.def.section->output_section->vma
+ + sdata->sym_hash->root.u.def.section->output_offset);
}
break;
@@ -3325,7 +3321,8 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
continue;
}
addend -= (sdata2->sym_hash->root.u.def.value
- + sec->output_section->vma);
+ + sdata2->sym_hash->root.u.def.section->output_section->vma
+ + sdata2->sym_hash->root.u.def.section->output_offset);
}
break;
@@ -3343,14 +3340,16 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
{
reg = 13;
addend -= (sdata->sym_hash->root.u.def.value
- + sec->output_section->vma);
+ + sdata->sym_hash->root.u.def.section->output_section->vma
+ + sdata->sym_hash->root.u.def.section->output_offset);
}
else if (strcmp (name, ".sdata2") == 0 || strcmp (name, ".sbss2") == 0)
{
reg = 2;
addend -= (sdata2->sym_hash->root.u.def.value
- + sec->output_section->vma);
+ + sdata2->sym_hash->root.u.def.section->output_section->vma
+ + sdata2->sym_hash->root.u.def.section->output_offset);
}
else if (strcmp (name, ".PPC.EMB.sdata0") == 0 || strcmp (name, ".PPC.EMB.sbss0") == 0)