Still problems with alloca and frame layout on w64 targets

Kai Tietz Kai.Tietz@onevision.com
Tue May 27 14:59:00 GMT 2008


Hi,

this small c program produces wrong code on x86_64-pc-mingw32. The problem 
here is the call abi w64. For w64 call abi, the last reserved 32 bytes on 
stack are use for vaarg functions to save the incoming arguments from 
register. This works fine as long as there is no alloca call within the 
function calling a vaarg method. The alloca reserves just the stack, but 
does not move the stack clobber region. So by a vaarg call the last 
reserved stack is clobbered.

How and where can I solve this problem?

Thanks in advance,
Kai



|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.c
Type: application/octet-stream
Size: 578 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20080527/2dda6bd1/attachment.obj>


More information about the Gcc mailing list