about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/arm/socket.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-07-24 17:39:23 +0000
committerUlrich Drepper <drepper@redhat.com>2002-07-24 17:39:23 +0000
commit6e96b6ec3a6a092ea3eeca1fa9b1eb61e3ab8a45 (patch)
treee3343dce0df716080655174327bd3366d1df9503 /sysdeps/unix/sysv/linux/arm/socket.S
parentbe45f421536b9da200c91f9088f21480308da67b (diff)
downloadglibc-6e96b6ec3a6a092ea3eeca1fa9b1eb61e3ab8a45.tar.gz
glibc-6e96b6ec3a6a092ea3eeca1fa9b1eb61e3ab8a45.tar.xz
glibc-6e96b6ec3a6a092ea3eeca1fa9b1eb61e3ab8a45.zip
Update.
2002-07-24  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/arm/brk.S: Improve schedule.
	* sysdeps/unix/sysv/linux/arm/socket.S (PUSHARGS_1): Use more
	efficient instruction.
	(__socket): Optimize return sequence.

	* locale/hashval.h: Make more self-contained by defining LONG_BITS.
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm/socket.S')
-rw-r--r--sysdeps/unix/sysv/linux/arm/socket.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/socket.S b/sysdeps/unix/sysv/linux/arm/socket.S
index a672413d12..2672de7b2c 100644
--- a/sysdeps/unix/sysv/linux/arm/socket.S
+++ b/sysdeps/unix/sysv/linux/arm/socket.S
@@ -35,7 +35,7 @@
 #define __socket P(__,socket)
 #endif
 
-#define PUSHARGS_1	stmfd sp!, {a1}
+#define PUSHARGS_1	str a1, [sp, $-4]!
 #define PUSHARGS_2	stmfd sp!, {a1, a2}
 #define PUSHARGS_3	stmfd sp!, {a1, a2, a3}
 #define PUSHARGS_4	stmfd sp!, {a1, a2, a3, a4}
@@ -78,10 +78,8 @@ ENTRY (__socket)
 
 	/* r0 is < 0 if there was an error.  */
 	cmn r0, $124
-	bhs PLTJMP(syscall_error)
-
-	/* Successful; return the syscall's value.  */
-	ret
+	RETINSTR(movcc, pc, r14)
+	b PLTJMP(syscall_error)
 
 PSEUDO_END (__socket)