diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-01 00:53:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-01 00:53:02 +0000 |
commit | f877b33831e78f327d546c0c282b1b150da30f42 (patch) | |
tree | c2613933662ec890fa792822bc7927b50d5fd770 /nptl/sysdeps/i386/tls.h | |
parent | 2bf49a0121e7128f8bda0ecebe03d4b1c1594d1d (diff) | |
download | glibc-f877b33831e78f327d546c0c282b1b150da30f42.tar.gz glibc-f877b33831e78f327d546c0c282b1b150da30f42.tar.xz glibc-f877b33831e78f327d546c0c282b1b150da30f42.zip |
(CALL_THREAD_FCT): Align stack of called function correctly.
Diffstat (limited to 'nptl/sysdeps/i386/tls.h')
-rw-r--r-- | nptl/sysdeps/i386/tls.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/nptl/sysdeps/i386/tls.h b/nptl/sysdeps/i386/tls.h index 8a1f547b83..7fe2222c68 100644 --- a/nptl/sysdeps/i386/tls.h +++ b/nptl/sysdeps/i386/tls.h @@ -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))); \ |