From 423ea473f4898a97193344f13482ece1d8c31fe8 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 4 May 2004 14:46:25 +0000 Subject: [PATCH] * crt0.o (mainCRTStartup): 16 byte align stack for main function. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/crt0.c | 2 ++ 2 files changed, 6 insertions(+) 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");