1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include <asm/errno.h>
- #include <sys/syscall.h>
- #include <sysdep.h>
- .syntax no_register_prefix
- .text
- ENTRY (__clone)
-
- test.d r10
- beq 1f
- nop
-
- movem r1,[sp=sp-8]
-
- move.d r10,r0
- move.d r13,r1
-
- move.d r11,r10
- move.d r12,r11
-
- movu.w SYS_ify (clone),r9
- break 13
- test.d r10
- beq .Lthread_start
- nop
-
- cmps.w -4096,r10
- bhs 0f
- movem [sp+],r1
-
- Ret
- nop
- .Lthread_start:
-
- moveq 0,r8
-
- move.d r1,r10
- jsr r0
- SETUP_PIC
- PLTCALL (_exit)
-
- test.d [6809]
-
- 9:
- ba 9b
- nop
- 1:
- movs.w -EINVAL,r10
-
- PSEUDO_END (__clone)
- .globl clone
- clone = __clone
|