(CALL_THREAD_FCT): Align stack of called function correctly.
authorUlrich Drepper <drepper@redhat.com>
Tue, 1 Apr 2003 00:53:02 +0000 (00:53 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 1 Apr 2003 00:53:02 +0000 (00:53 +0000)
nptl/sysdeps/i386/tls.h

index 8a1f547..7fe2222 100644 (file)
@@ -356,10 +356,9 @@ union user_desc_init
 #define CALL_THREAD_FCT(descr) \
   ({ void *__res;                                                            \
      int __ignore1, __ignore2;                                               \
-     asm volatile ("subl $12, %%esp\n\t"                                     \
-                  "pushl %%gs:%P4\n\t"                                       \
+     asm volatile ("pushl %%gs:%P4\n\t"                                              \
                   "call *%%gs:%P3\n\t"                                       \
-                  "addl $16, %%esp"                                          \
+                  "addl $4, %%esp"                                           \
                   : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2)         \
                   : "i" (offsetof (struct pthread, start_routine)),          \
                     "i" (offsetof (struct pthread, arg)));                   \