[Bug target/85669] fail on s-case-cfn-macros: build/gencfn-macros: DEF_INTERNAL_FLT/INT_FN (%smth%) has no associated built-in functions
wilco at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Oct 26 11:40:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85669
--- Comment #47 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Douglas Mencken from comment #45)
> (In reply to self from comment #44)
>
> > I can’t get where is the value of STACK_DYNAMIC_OFFSET in published assembly
> > and why do you think it is wrong
>
> Most likely this value is shown as 96 in “addi r1,r30,96” (80 for _t1 and
> _t2) of epilogues
>
> bl _t1
> addi r1,r30,96
> lwz r0,8(r1)
> lwz r30,-8(r1)
> lwz r31,-4(r1)
> mtlr r0
> blr
No, it's the value of r2 before the call to _t1 (like I quoted in comment 32):
t1_a4
addi r2,r1,72 -> 72 % 16 != 0 (correct value would be 64)
stw r6,60(r1)
stw r2,56(r1)
As long as STACK_DYNAMIC_OFFSET isn't aligned, the alloca pointer won't be
setup correctly, and this can cause it to corrupt other data in the function.
More information about the Gcc-bugs
mailing list