aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/sys/sparc64/execve.S
blob: 804d2ee3cea479571c6b941051ed1da2a046339c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
! 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