From 7a62c80b98e968579cb762a1679551665c94e245 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sun, 1 Nov 1998 03:11:16 +0000 Subject: [PATCH] * elf32-ppc.c (ppc_elf_reload_section): Fix typo. --- bfd/ChangeLog | 4 ++++ bfd/elf32-ppc.c | 19 +++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9e1c5b03bb..faef05abf9 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 * 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 1b8a8f02c3..0d3f0d2264 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)