Can you try -fno-optimize-sibling-calls and see if that works?
Yes, it did, thank you.
If so, then the problem is that we sibling calls should not be done in main. To fix the testcase anyways to be correct is to put "return 0;" after the call to main1. Since right now the return of main could be anything.
I don't think the test case is inocrrect. In a nutshell, it has: int main1() { ... stuff ... return 0; } int main(void) { return main1(); } That should be perfectly valid, and return 0 from main1 which subsequently returns 0 from main. What does the fact that -fno-optimize-sibling-calls worked indicate really? Without that option something really does seem to be mis-calculating the stack offsets by 4. What may be of interest here is that aside from the vect/* tests, the only other test that is failing is sibcall-6. Kean