diff options
Diffstat (limited to 'libc')
-rw-r--r-- | libc/sysdeps/linux/i386/clone.S | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/setjmp.S | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/i386/clone.S b/libc/sysdeps/linux/i386/clone.S index 5db30b8e3..173b5c1f7 100644 --- a/libc/sysdeps/linux/i386/clone.S +++ b/libc/sysdeps/linux/i386/clone.S @@ -20,14 +20,15 @@ /* clone() is even more special than fork() as it mucks with stacks and invokes a function in the right context after its all over. */ -#include <sysdep.h> #include <asm/errno.h> /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */ .text -ENTRY(__clone) +.globl __clone; +.align 4; \ +__clone: /* Sanity check arguments. */ movl $-EINVAL,%eax movl 4(%esp),%ecx /* no NULL function pointers */ diff --git a/libc/sysdeps/linux/i386/setjmp.S b/libc/sysdeps/linux/i386/setjmp.S index d5139d7fe..466fed2ba 100644 --- a/libc/sysdeps/linux/i386/setjmp.S +++ b/libc/sysdeps/linux/i386/setjmp.S @@ -17,19 +17,22 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <sysdep.h> #define _ASM #define _SETJMP_H #include <bits/setjmp.h> -ENTRY (__setjmp) +.globl __setjmp; +.align 4; \ +__setjmp: popl %eax /* Pop return address. */ popl %ecx /* Pop jmp_buf. */ pushl $0 /* Push zero argument. */ pushl %ecx /* Push jmp_buf. */ pushl %eax /* Push back return address. */ -ENTRY (__sigsetjmp) +.globl __sigsetjmp; +.align 4; \ +__sigsetjmp: movl 4(%esp), %eax /* User's jmp_buf in %eax. */ /* Save registers. */ movl %ebx, (JB_BX*4)(%eax) |