diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-17 08:02:17 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-17 08:02:17 +0000 |
commit | 6c052003bda07641309dcd4fe4a5158d24f5d607 (patch) | |
tree | 3a4869ea7ff0fefdbd6a7cfde71e8bdc35e57f2a /sysdeps/unix/sysv/linux | |
parent | 92ce46766b7d3f6d65fd345ab612fc04e55b89cc (diff) | |
download | glibc-6c052003bda07641309dcd4fe4a5158d24f5d607.tar.gz glibc-6c052003bda07641309dcd4fe4a5158d24f5d607.tar.xz glibc-6c052003bda07641309dcd4fe4a5158d24f5d607.zip |
Update.
2003-09-17 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/clone.S: Make sure child gets a stack which is aligned (mod 16).
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/clone.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/clone.S b/sysdeps/unix/sysv/linux/i386/clone.S index 1f7417effd..94c6a72548 100644 --- a/sysdeps/unix/sysv/linux/i386/clone.S +++ b/sysdeps/unix/sysv/linux/i386/clone.S @@ -61,8 +61,10 @@ ENTRY (BP_SYM (__clone)) jz SYSCALL_ERROR_LABEL #endif - /* Insert the argument onto the new stack. */ - subl $16,%ecx + /* Insert the argument onto the new stack. Make sure the new + thread is started with an alignment of (mod 16). */ + andl $0xfffffff0, %ecx + subl $24,%ecx movl ARG(%esp),%eax /* no negative argument counts */ movl %eax,12(%ecx) |