File: libc_exit.c

package info (click to toggle)
libc-sparc 5.3.12-2
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 18,664 kB
  • ctags: 53,237
  • sloc: ansic: 181,379; asm: 5,080; makefile: 3,340; lex: 521; sh: 439; yacc: 401; awk: 28
file content (29 lines) | stat: -rw-r--r-- 531 bytes parent folder | download | duplicates (7)
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
#include <unistd.h>
#include <sys/syscall.h>

#ifdef PTHREAD_KERNEL
#pragma weak machdep_sys__exit = __machdep_sys__exit

void
__machdep_sys__exit(int exit_code)
#else /* PTHREAD_KERNEL */

#ifdef _POSIX_THREADS
#pragma weak _exit
#endif

void
_exit(int exit_code)
#endif /* PTHREAD_KERNEL */
{
#if defined(__PIC__) || defined(__pic__)
	__asm__("pushl %%ebx\n\t"
		"movl %%ecx,%%ebx\n\t"
		"int $0x80\n\t"
		"popl %%ebx"
		::"a" (SYS_exit),"c" (exit_code));
#else
	__asm__("int $0x80"
		::"a" (SYS_exit),"b" (exit_code));
#endif
}