123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #include <asm/errno.h>
- #include <sys/syscall.h>
- .global errno
- .text
- .global vfork
- .type vfork,#function
- .align 4
- vfork:
- #ifdef __NR_vfork
- swi __NR_vfork
- cmn r0, #4096
- movcc pc, lr
-
- ldr r1, =-ENOSYS
- teq r0, r1
- bne __syscall_error
- #endif
-
- swi __NR_fork
- cmn r0, #4096
-
- movcc pc, lr
- __syscall_error:
-
- ldr r3, .L4
-
- rsb r2, r0, $0
-
- str r2, [r9,r3]
-
- mvn r0, $0
- mov pc, lr
- .L4: .word errno
|