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-- 505 bytes parent folder | download | duplicates (2)
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 */
{
    int result;
    
    __asm__ volatile ("mov %0, %%g1\n\t"
		      "mov %2, %%o0\n\t"
		      "t 0x10\n\t"
		      : "r=" (result)
		      : "0" (SYS_exit), "r" (exit_code)
	              : "o0", "g1");
}