PowerPC gcc bootstrap fail with bss-plt
git commit 3e04d7655b
introduced a bug by sizing output sections
earlier in ppc_before_allocation. That meant PLT (and GOT) sizes were
not included when calculating total executable section sizes.
* emultempl/ppc32elf.em (ppc_before_allocation): Force running
prelim_size_sections before deciding whether branch trampolines
might be needed.
This commit is contained in:
parent
63f6e94fb3
commit
7df6aecc97
@ -1,3 +1,9 @@
|
||||
2019-08-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* emultempl/ppc32elf.em (ppc_before_allocation): Force running
|
||||
prelim_size_sections before deciding whether branch trampolines
|
||||
might be needed.
|
||||
|
||||
2019-08-15 Jim Wilson <jimw@sifive.com>
|
||||
|
||||
* testsuite/ld-riscv-elf/c-lui-2.d: New.
|
||||
|
@ -171,7 +171,12 @@ ppc_before_allocation (void)
|
||||
bfd_vma high = 0;
|
||||
asection *o;
|
||||
|
||||
/* Run lang_size_sections (if not already done). */
|
||||
/* Run lang_size_sections even if already done, so as to pick
|
||||
up gld${EMULATION_NAME}_before_allocation sizing. This
|
||||
matters when we have an executable bss plt which will
|
||||
typically be laid out near the end of the image, ie. worst
|
||||
case for branches at the start of .text. */
|
||||
expld.phase = lang_first_phase_enum;
|
||||
prelim_size_sections ();
|
||||
|
||||
for (o = link_info.output_bfd->sections; o != NULL; o = o->next)
|
||||
|
Loading…
Reference in New Issue
Block a user