------- Comment #4 from ktietz at gcc dot gnu dot org 2009-03-07 10:46 ------- (In reply to comment #3) > Well, the issues in driver seems to be related to pexecute in protoize.c. On a > first glance, I noticed that here for pid's an 'int' type is used (btw in > libiberty a 'long' is used for keeping the pids, which is for w64 incorrect, > too). > The problem is, that pid_t has to have a scalar size on w64 of 64-bits. >
Sorry, pex_run & co aren't the reason for this issue. By further debugging I found that for bigger functions using alloca with variable sizes wrong code is generated for optimizations bigger then -O0. By this reason the driver gcc.c in execute is broken. The interesting issue about this is, when trying to make a smaller testcase out of it, code is produced correct. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39356