diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm/sysdep.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/sysdep.S | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.S b/sysdeps/unix/sysv/linux/arm/sysdep.S index a71181c911..482535bea5 100644 --- a/sysdeps/unix/sysv/linux/arm/sysdep.S +++ b/sysdeps/unix/sysv/linux/arm/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998 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 @@ -21,31 +21,23 @@ /* We define errno here, to be consistent with Linux/i386. */ .bss .globl errno - .type errno,@object + .type errno,%object .size errno,4 errno: .zero 4 .globl _errno - .type _errno,@object + .type _errno,%object _errno = errno /* This name is expected by hj's libc.so.5 startup code. */ .text -/* The following code is only used in the shared library when we - compile the reentrant version. Otherwise each system call defines - each own version. */ - -#ifndef PIC - /* The syscall stubs jump here when they detect an error. - The code for Linux is almost identical to the canonical Unix/i386 - code, except that the error number in %eax is negated. */ + The code for Linux is almost identical to the canonical Unix + code, except that the error number in R0 is negated. */ #undef CALL_MCOUNT -#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %eax. */ +#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers R0. */ ENTRY (__syscall_error) - mvn r0, r0 + rsb r0, r0, $0 #define __syscall_error __syscall_error_1 #include <sysdeps/unix/arm/sysdep.S> - -#endif /* !PIC */ |