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:
parent
a48cda7f86
commit
247d6c4c14
@ -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.
|
||||
|
@ -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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user