|
|
e354a5 |
commit bbfc0f0f8e30680437d1c5b90563018bcd403881
|
|
|
e354a5 |
Author: H.J. Lu <hjl.tools@gmail.com>
|
|
|
e354a5 |
Date: Sat Feb 1 05:44:56 2020 -0800
|
|
|
e354a5 |
|
|
|
e354a5 |
i386: Remove _exit.S
|
|
|
e354a5 |
|
|
|
e354a5 |
The generic implementation is suffice since __NR_exit_group is always
|
|
|
e354a5 |
support and i386 does define ABORT_INSTRUCTION.
|
|
|
e354a5 |
|
|
|
e354a5 |
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
e354a5 |
---
|
|
|
e354a5 |
|
|
|
e354a5 |
diff --git a/sysdeps/unix/sysv/linux/i386/_exit.S b/sysdeps/unix/sysv/linux/i386/_exit.S
|
|
|
e354a5 |
deleted file mode 100644
|
|
|
e354a5 |
index a10eede..0000000
|
|
|
e354a5 |
--- a/sysdeps/unix/sysv/linux/i386/_exit.S
|
|
|
e354a5 |
+++ /dev/null
|
|
|
e354a5 |
@@ -1,44 +0,0 @@
|
|
|
e354a5 |
-/* Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
|
|
e354a5 |
- This file is part of the GNU C Library.
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- The GNU C Library is free software; you can redistribute it and/or
|
|
|
e354a5 |
- modify it under the terms of the GNU Lesser General Public
|
|
|
e354a5 |
- License as published by the Free Software Foundation; either
|
|
|
e354a5 |
- version 2.1 of the License, or (at your option) any later version.
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- The GNU C Library is distributed in the hope that it will be useful,
|
|
|
e354a5 |
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
e354a5 |
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
e354a5 |
- Lesser General Public License for more details.
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- You should have received a copy of the GNU Lesser General Public
|
|
|
e354a5 |
- License along with the GNU C Library; if not, see
|
|
|
e354a5 |
- <http://www.gnu.org/licenses/>. */
|
|
|
e354a5 |
-
|
|
|
e354a5 |
-#include <sysdep.h>
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- .text
|
|
|
e354a5 |
- .type _exit,@function
|
|
|
e354a5 |
- .global _exit
|
|
|
e354a5 |
-_exit:
|
|
|
e354a5 |
- movl 4(%esp), %ebx
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- /* Try the new syscall first. */
|
|
|
e354a5 |
-#ifdef __NR_exit_group
|
|
|
e354a5 |
- movl $__NR_exit_group, %eax
|
|
|
e354a5 |
- ENTER_KERNEL
|
|
|
e354a5 |
-#endif
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- /* Not available. Now the old one. */
|
|
|
e354a5 |
- movl $__NR_exit, %eax
|
|
|
e354a5 |
- /* Don't bother using ENTER_KERNEL here. If the exit_group
|
|
|
e354a5 |
- syscall is not available AT_SYSINFO isn't either. */
|
|
|
e354a5 |
- int $0x80
|
|
|
e354a5 |
-
|
|
|
e354a5 |
- /* This must not fail. Be sure we don't return. */
|
|
|
e354a5 |
- hlt
|
|
|
e354a5 |
- .size _exit,.-_exit
|
|
|
e354a5 |
-
|
|
|
e354a5 |
-libc_hidden_def (_exit)
|
|
|
e354a5 |
-rtld_hidden_def (_exit)
|
|
|
e354a5 |
-weak_alias (_exit, _Exit)
|
|
|
e354a5 |
|