From: Ulrich Drepper Date: Fri, 3 Apr 1998 12:06:51 +0000 (+0000) Subject: (__syscall_error): Same for PIC and non-PIC now. Correctly negate X-Git-Tag: glibc-2.16-ports-merge^2~3261 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=80509c667fae7277be76d3cf448c1290283f4358;p=platform%2Fupstream%2Fglibc.git (__syscall_error): Same for PIC and non-PIC now. Correctly negate error number. (errno): Use `%' not `@' in .type directives. --- diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.S b/sysdeps/unix/sysv/linux/arm/sysdep.S index a71181c..482535b 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 - -#endif /* !PIC */