When bootstrapping for EV4, pp_base_set_prefix is miscompiled. An fnop is emitted between the two insns of the initial ldgp pair.
The abi for "standard pv usage", implied by ".prologue 1", requires that this instruction pair be sequential. Which allows the linker to alter "jsr foo" into "bsr foo+8". With the additional fnop, a bsr pp_base_set_prefix+8 results in the gp being corrupted. Hilarity ensues. -- Summary: bootstrap failure with linker relaxation enabled Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P2 Component: target AssignedTo: rth at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: alpha-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21888