summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/sparc/pipe.S
blob: 820da2570ebad8638326d4e24f5b480d82d3d7eb (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
#include "syscalls.h"

.text
.global pipe
pipe:
	mov	%o0, %o2
	mov	__NR_pipe, %g1
	ta 0x10
	bcc,a	1f
	nop
	save	%sp, -96, %sp
#ifdef WANT_THREAD_SAVE
	call	__errno_location
	nop
#else
	sethi	%hi(errno), %o0
	or	%o0, %lo(errno), %o0
#endif
	st	%i0, [ %o0 ]
	ret
	restore	%g0, -1, %o0

1:	st	%o0, [ %o2 ]
	st	%o1, [ %o2 + 4 ]
	retl
	mov	%g0, %o0