File: unified.S

package info (click to toggle)
dietlibc 0.34~cvs20160606-10
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 11,336 kB
  • sloc: ansic: 71,631; asm: 13,006; cpp: 1,860; makefile: 799; sh: 292; perl: 62
file content (37 lines) | stat: -rw-r--r-- 634 bytes parent folder | download | duplicates (11)
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
28
29
30
31
32
33
34
35
36
37
#include <dietfeatures.h>
#include "syscalls.h"

.text
.weak exit
.type exit,function
exit:
.global _exit
.type	_exit,function
_exit:
	mov	__NR_exit, %g1
.global __unified_syscall
__unified_syscall:
	ta	0x6d

	bcs	%xcc, 1f	/* error ? */
	nop

/* here we go and "reuse" the return for weak-void functions */
#include "dietuglyweaks.h"
	retl
	nop

.global __unified_syscall_error_handler
__unified_syscall_error_handler:
1:	save	%sp, -192, %sp
#ifdef WANT_THREAD_SAFE
	call	__errno_location
	nop
#else
	sethi	%hi(errno), %o0
	or	%o0, %lo(errno), %o0
#endif
	st	%i0, [ %o0 ]	/* store errno */
	ret
	restore %g0, -1, %o0	/* return -1 */