Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-04-30 17:27:27 +0400
committerCorinna Vinschen <corinna@vinschen.de>2004-04-30 17:27:27 +0400
commit72f3756e0705fe039b9005a857c23739f6944521 (patch)
treefdb9dabed82f9e16ba420fc872e66e133c509fa5 /winsup/cygwin/init.cc
parent6194cf4a4b63c4c7bf8b2ee12f1d9b033de22171 (diff)
* init.cc (threadfunc_fe): Hack to make thread stacks always 16
byte aligned.
Diffstat (limited to 'winsup/cygwin/init.cc')
-rw-r--r--winsup/cygwin/init.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc
index af8c0ea39..9ba585ecb 100644
--- a/winsup/cygwin/init.cc
+++ b/winsup/cygwin/init.cc
@@ -27,6 +27,8 @@ HANDLE sync_startup;
static void WINAPI
threadfunc_fe (VOID *arg)
{
+ (void)__builtin_return_address(1);
+ asm volatile ("andl $-16,%%esp" ::: "%esp");
_cygtls::call ((DWORD (*) (void *, void *)) (((char **) _tlsbase)[OLDFUNC_OFFSET]), arg);
}