diff options
-rw-r--r-- | libc/sysdeps/linux/alpha/Makefile.arch | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/alpha/__syscall_error.c (renamed from libc/sysdeps/linux/alpha/sysdep.c) | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/alpha/Makefile.arch b/libc/sysdeps/linux/alpha/Makefile.arch index 4d33cef26..2a66bc1a4 100644 --- a/libc/sysdeps/linux/alpha/Makefile.arch +++ b/libc/sysdeps/linux/alpha/Makefile.arch @@ -5,7 +5,7 @@ # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # -CSRC := sysdep.c +CSRC := __syscall_error.c SSRC := \ __longjmp.S brk.S bsd-_setjmp.S bsd-setjmp.S clone.S \ diff --git a/libc/sysdeps/linux/alpha/sysdep.c b/libc/sysdeps/linux/alpha/__syscall_error.c index cb3cb2639..7c081f3b5 100644 --- a/libc/sysdeps/linux/alpha/sysdep.c +++ b/libc/sysdeps/linux/alpha/__syscall_error.c @@ -8,8 +8,9 @@ /* This routine is jumped to by all the syscall handlers, to stash an error number into errno. */ -int attribute_hidden __syscall_error (int err_no) +int attribute_hidden __syscall_error (void) { - __set_errno (err_no); - return -1; + register int err_no __asm__("$0"); + __set_errno (err_no); + return -1; } |