! 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 |