about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/arm/sysdep.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-03 12:07:01 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-03 12:07:01 +0000
commitecdd1a316035312a0565a64011520819ff36ae11 (patch)
tree592feec09cb2886c1f5420472e36d06aaaf531b3 /sysdeps/unix/sysv/linux/arm/sysdep.S
parentcab24c3767986d0c4c336634756b4de5aee3a797 (diff)
downloadglibc-ecdd1a316035312a0565a64011520819ff36ae11.tar.gz
glibc-ecdd1a316035312a0565a64011520819ff36ae11.tar.xz
glibc-ecdd1a316035312a0565a64011520819ff36ae11.zip
Update.
1998-04-03 16:29  Philip Blundell  <pb@nexus.co.uk>

	Based on patch from Pat Beirne:
	* sysdeps/unix/sysv/linux/arm/sysdep.S (__syscall_error): Same for
	PIC and non-PIC now.  Correctly negate error number.
	(errno): Use `%' not `@' in .type directives.

1998-04-03  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/strtok.S: Change to use single exit point.
	* sysdeps/i386/i686/strtok.S: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm/sysdep.S')
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.S22
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 */