diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0be6648fb..c724770d7 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2004-05-04 Corinna Vinschen + + * crt0.o (mainCRTStartup): 16 byte align stack for main function. + 2004-05-04 Corinna Vinschen * path.cc (check_sysfile): Don't scan string twice. diff --git a/winsup/cygwin/crt0.c b/winsup/cygwin/crt0.c index 52ba7bd34..48cafd5e1 100644 --- a/winsup/cygwin/crt0.c +++ b/winsup/cygwin/crt0.c @@ -36,6 +36,8 @@ void mainCRTStartup () { #ifdef __i386__ + (void)__builtin_return_address(1); + asm volatile ("andl $-16,%%esp" ::: "%esp"); if (__cygwin_crt0_bp) asm volatile ("int3");