[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