diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ad9e027dd8..09150db530 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2016-06-16 Marcin Koƛcielnicki + + * elf32-s390.c (elf_s390_finish_dynamic_sections): Include + .rela.iplt in DT_PLTRELSZ. + * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise, + for DT_PLTRELSZ and DT_RELASZ as well. + 2016-06-16 H.J. Lu * elf32-i386.c (elf_i386_check_relocs): Skip relocations in diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 9480f7258a..1f058d2956 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -3958,8 +3958,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd, break; case DT_PLTRELSZ: - s = htab->elf.srelplt; - dyn.d_un.d_val = s->size; + dyn.d_un.d_val = htab->elf.srelplt->size + htab->elf.irelplt->size; break; } diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index cf174f8675..a39e1c9bd9 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -3754,8 +3754,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd, break; case DT_PLTRELSZ: - s = htab->elf.srelplt; - dyn.d_un.d_val = s->size; + dyn.d_un.d_val = htab->elf.srelplt->size + htab->elf.irelplt->size; break; case DT_RELASZ: @@ -3766,8 +3765,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd, linker script arranges for .rela.plt to follow all other relocation sections, we don't have to worry about changing the DT_RELA entry. */ - s = htab->elf.srelplt; - dyn.d_un.d_val -= s->size; + dyn.d_un.d_val -= htab->elf.srelplt->size + htab->elf.irelplt->size; break; }