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
 |