From 6c052003bda07641309dcd4fe4a5158d24f5d607 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 17 Sep 2003 08:02:17 +0000 Subject: [PATCH] Update. 2003-09-17 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/clone.S: Make sure child gets a stack which is aligned (mod 16). --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/i386/clone.S | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 728fe1da8b..cda4f87fea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-09-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/clone.S: Make sure child gets a + stack which is aligned (mod 16). + 2003-09-17 Uwe Reimann Hans-Peter Nilsson 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)