aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-lm32.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf32-lm32.c')
-rw-r--r--bfd/elf32-lm32.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c
index a1aecc7..bdeefcf 100644
--- a/bfd/elf32-lm32.c
+++ b/bfd/elf32-lm32.c
@@ -1456,19 +1456,17 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
break;
case DT_PLTGOT:
- s = htab->sgot->output_section;
+ s = htab->sgotplt;
goto get_vma;
case DT_JMPREL:
- s = htab->srelplt->output_section;
+ s = htab->srelplt;
get_vma:
- BFD_ASSERT (s != NULL);
- dyn.d_un.d_ptr = s->vma;
+ dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
break;
case DT_PLTRELSZ:
- s = htab->srelplt->output_section;
- BFD_ASSERT (s != NULL);
+ s = htab->srelplt;
dyn.d_un.d_val = s->size;
bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
break;
@@ -1485,7 +1483,7 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
about changing the DT_RELA entry. */
if (htab->srelplt != NULL)
{
- s = htab->srelplt->output_section;
+ s = htab->srelplt;
dyn.d_un.d_val -= s->size;
}
bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);