Implement _Exit(3).
Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index e597b2f..220c713 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -308,7 +308,7 @@
int eventfd:eventfd2(unsigned int, int) all
-void _exit:exit_group(int) all
+void _exit|_Exit:exit_group(int) all
void __exit:exit(int) all
int futex(void*, int, int, void*, void*, int) all
diff --git a/libc/arch-arm/syscalls/_exit.S b/libc/arch-arm/syscalls/_exit.S
index 1a6b35d..581b340 100644
--- a/libc/arch-arm/syscalls/_exit.S
+++ b/libc/arch-arm/syscalls/_exit.S
@@ -12,3 +12,6 @@
neg r0, r0
b __set_errno
END(_exit)
+
+ .globl _Exit
+ .equ _Exit, _exit
diff --git a/libc/arch-arm64/syscalls/_exit.S b/libc/arch-arm64/syscalls/_exit.S
index 24b7b17..40ada48 100644
--- a/libc/arch-arm64/syscalls/_exit.S
+++ b/libc/arch-arm64/syscalls/_exit.S
@@ -19,3 +19,6 @@
ret
END(_exit)
+
+ .globl _Exit
+ .equ _Exit, _exit
diff --git a/libc/arch-mips/syscalls/_exit.S b/libc/arch-mips/syscalls/_exit.S
index 5a0877d..f546b66 100644
--- a/libc/arch-mips/syscalls/_exit.S
+++ b/libc/arch-mips/syscalls/_exit.S
@@ -17,3 +17,6 @@
nop
.set reorder
END(_exit)
+
+ .globl _Exit
+ .equ _Exit, _exit
diff --git a/libc/arch-mips64/syscalls/_exit.S b/libc/arch-mips64/syscalls/_exit.S
index 9b108a6..eb84def 100644
--- a/libc/arch-mips64/syscalls/_exit.S
+++ b/libc/arch-mips64/syscalls/_exit.S
@@ -23,3 +23,6 @@
move ra, t0
.set pop
END(_exit)
+
+ .globl _Exit
+ .equ _Exit, _exit
diff --git a/libc/arch-x86/syscalls/_exit.S b/libc/arch-x86/syscalls/_exit.S
index 2ff5faf..793c9d5 100644
--- a/libc/arch-x86/syscalls/_exit.S
+++ b/libc/arch-x86/syscalls/_exit.S
@@ -20,3 +20,6 @@
popl %ebx
ret
END(_exit)
+
+ .globl _Exit
+ .equ _Exit, _exit
diff --git a/libc/arch-x86_64/syscalls/_exit.S b/libc/arch-x86_64/syscalls/_exit.S
index f40cfe3..3c15897 100644
--- a/libc/arch-x86_64/syscalls/_exit.S
+++ b/libc/arch-x86_64/syscalls/_exit.S
@@ -14,3 +14,6 @@
1:
ret
END(_exit)
+
+ .globl _Exit
+ .equ _Exit, _exit
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index 5dbcb3d..2c797c5 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -41,8 +41,9 @@
#define EXIT_FAILURE 1
#define EXIT_SUCCESS 0
-extern __noreturn void exit(int);
extern __noreturn void abort(void);
+extern __noreturn void exit(int);
+extern __noreturn void _Exit(int);
extern int atexit(void (*)(void));
extern char *getenv(const char *);