/* 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 */
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)