[Bug middle-end/29683] Arg split between stack/regs can cause stack corruption
jconner at apple dot com
gcc-bugzilla@gcc.gnu.org
Wed Nov 1 19:11:00 GMT 2006
------- Comment #1 from jconner at apple dot com 2006-11-01 19:11 -------
What's happening is that TER is inserting the call to GetConst in place of
'result' in the call to VerifyValues, as such:
(pre-TER)
result_4 = GetConst (filler, a);
VerifyValues (filler, 0, a$mbr1_5, result_4);
(post-TER)
VerifyValues (filler, 0, a$mbr1, GetConst (filler, a));
While this itself isn't a problem, it exposes a problem in the argument
handling mechanism where an argument split between regs/stack doesn't correctly
detect collision with other in-use stack locations. I believe this is a
problem on platforms that ACCUMULATE_OUTGOING_ARGS. I have a patch I'll send
out for consideration.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29683
More information about the Gcc-bugs
mailing list