PR21132, hppa-linux pie support doesn't work

This fixes a long-standing hppa bug seen when generating PIEs, and I
think possible to trigger with forced local symbols in shared
libraries.  Not allocating enough space for PLT relocs results in ld
writing outside of the buffer.

	PR 21132
	* elf32-hppa.c (allocate_plt_static): Allocate space for relocs
	if pic.
This commit is contained in:
Alan Modra 2017-02-16 12:23:12 +10:30
parent a48cda7f86
commit 247d6c4c14
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2017-02-16 Alan Modra <amodra@gmail.com>
PR 21132
* elf32-hppa.c (allocate_plt_static): Allocate space for relocs
if pic.
2017-02-16 Jiong Wang <jiong.wang@arm.com>
* bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.

View File

@ -1976,6 +1976,8 @@ allocate_plt_static (struct elf_link_hash_entry *eh, void *inf)
sec = htab->etab.splt;
eh->plt.offset = sec->size;
sec->size += PLT_ENTRY_SIZE;
if (bfd_link_pic (info))
htab->etab.srelplt->size += sizeof (Elf32_External_Rela);
}
else
{