deleted file mode 100644
@@ -1,115 +0,0 @@
-/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <errno.h>
-
-ENTRY(__syscall_error)
-#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
- /* We translate the system's EWOULDBLOCK error into EAGAIN.
- The GNU C library always defines EWOULDBLOCK==EAGAIN.
- EWOULDBLOCK_sys is the original number. */
- mov.l .L1, r1
- cmp/eq r1, r0
- bf skip
- nop
- mov.l .L2, r0
-skip:
-#endif
- /* Store it in errno... */
-#ifndef SHARED
-#ifndef _LIBC_REENTRANT
- mov.l .L3, r1
- mov.l r0, @r1
-#else
- mov.l .L3, r1
- sts.l pr, @-r15
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (pr, 0)
- mov.l r0, @-r15
- cfi_adjust_cfa_offset (4)
- jsr @r1
- nop
- mov.l @r15+, r1
- cfi_adjust_cfa_offset (-4)
- lds.l @r15+, pr
- cfi_adjust_cfa_offset (-4)
- cfi_restore (pr)
- mov.l r1, @r0
-#endif
-#else
- mov.l r12, @-r15
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (r12, 0)
-#ifndef _LIBC_REENTRANT
- mov r0, r2
- mov.l 0f, r12
- mova 0f, r0
- add r0, r12
- mov.l .L3, r0
- mov.l @(r0,r12), r1
- mov.l r2, @r1
-#else
- mov.l r0, @-r15
- cfi_adjust_cfa_offset (4)
- sts.l pr, @-r15
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (pr, 0)
- mov.l 0f, r12
- mova 0f, r0
- add r0, r12
- mov.l .L3, r1
- mova .L3, r0
- add r0, r1
- jsr @r1
- nop
- lds.l @r15+, pr
- cfi_adjust_cfa_offset (-4)
- cfi_restore (pr)
- mov.l @r15+, r1
- cfi_adjust_cfa_offset (-4)
- mov.l r1, @r0
-#endif
- mov.l @r15+, r12
- cfi_adjust_cfa_offset (-4)
- cfi_restore (r12)
-#endif
- /* And just kick back a -1. */
- rts
- mov #-1, r0
-
- .align 2
-#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
-.L1: .long EWOULDBLOCK_sys
-.L2: .long EAGAIN
-#endif
-#ifndef SHARED
-#ifndef _LIBC_REENTRANT
-.L3: .long C_SYMBOL_NAME(errno)
-#else
-.L3: .long C_SYMBOL_NAME(__errno_location)
-#endif
-#else
-0:
- .long _GLOBAL_OFFSET_TABLE_
-#ifndef _LIBC_REENTRANT
-.L3: .long C_SYMBOL_NAME(errno@GOT)
-#else
-.L3: .long C_SYMBOL_NAME(__errno_location@PLT)
-#endif
-#endif
-END(__syscall_error)
@@ -8,7 +8,6 @@ libc.so: memalign
libc.so: realloc
libc.so: _Unwind_Find_FDE
libc.so: _exit
-libc.so: __errno_location
libm.so: matherr
# Generated by the compiler because there is no trap insn pattern.
libc.so: abort ?
similarity index 60%
rename from sysdeps/unix/sysv/linux/sh/sysdep.S
rename to sysdeps/unix/sysv/linux/sh/syscall_error.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
+/* Linux wrappers for setting errno. SH version.
+ Copyright (C) 2020 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,18 +16,10 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <sysdep.h>
+#ifndef _SYSCALL_ERROR_H
+#define _SYSCALL_ERROR_H
-/* The syscall stubs jump here when they detect an error.
- The code for Linux is almost identical to the canonical Unix
- code, except that the error number in R0 is negated. */
+#define SYSCALL_ERROR_FUNC 1
+#define SYSCALL_ERROR_FUNC_ATTR
-#undef CALL_MCOUNT
-#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers R0. */
-
-ENTRY (__syscall_error)
- neg r4, r0
- cfi_endproc
-
-#define __syscall_error __syscall_error_1
-#include <sysdeps/unix/sh/sysdep.S>
+#endif