mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-01 11:52:47 +00:00
28 lines
405 B
ArmAsm
28 lines
405 B
ArmAsm
|
! execve.S
|
||
|
! This function is invoked by the other exec*() fns.
|
||
|
!
|
||
|
! If sizeof(char *) == 64, we invoke a new Shade function until the real one
|
||
|
! is defined.
|
||
|
|
||
|
#include "sys/syscallasm.h"
|
||
|
|
||
|
TEXT_SECTION
|
||
|
ALIGN (4)
|
||
|
GLOBAL (ASM_SYMBOL (execve))
|
||
|
ASM_SYMBOL (execve):
|
||
|
mov SYS_execve,%g1
|
||
|
#if TARGET_PTR_SIZE == 64
|
||
|
ta 42
|
||
|
#else
|
||
|
ta SYSCALL_TRAP
|
||
|
#endif
|
||
|
|
||
|
bcc noerr
|
||
|
nop
|
||
|
|
||
|
seterrno()
|
||
|
|
||
|
noerr:
|
||
|
jmpl %o7+8,%g0
|
||
|
nop
|