powerpc64-ld infinite loop
If this code dealing with possible conversion of inline plt sequences is ever executed, ld will hang. A binary with such sequences and of code size larger than approximately 90% the reach of an unconditional branch is the trigger. Oops. * elf64-ppc.c (ppc64_elf_inline_plt): Do increment rel in for loop.
This commit is contained in:
parent
9cc89dc0ac
commit
435edf0bf2
@ -1,3 +1,7 @@
|
|||||||
|
2020-03-11 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* elf64-ppc.c (ppc64_elf_inline_plt): Do increment rel in for loop.
|
||||||
|
|
||||||
2020-03-10 Alan Modra <amodra@gmail.com>
|
2020-03-10 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR 25648
|
PR 25648
|
||||||
|
@ -7621,7 +7621,7 @@ ppc64_elf_inline_plt (struct bfd_link_info *info)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
relend = relstart + sec->reloc_count;
|
relend = relstart + sec->reloc_count;
|
||||||
for (rel = relstart; rel < relend; )
|
for (rel = relstart; rel < relend; rel++)
|
||||||
{
|
{
|
||||||
enum elf_ppc64_reloc_type r_type;
|
enum elf_ppc64_reloc_type r_type;
|
||||||
unsigned long r_symndx;
|
unsigned long r_symndx;
|
||||||
|
Loading…
Reference in New Issue
Block a user