about summary refs log tree commit diff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-17 03:49:23 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-17 03:49:23 +0000
commit26a026b94036e2e2a41a6693327d796cc82bdacd (patch)
tree4fcca570ad63971bc785942611defe63756471d5 /sysdeps/unix/sysv
parentbd499a3b46304d4900a6a6ba809f9b7f2c5a4afa (diff)
downloadglibc-26a026b94036e2e2a41a6693327d796cc82bdacd.tar.gz
glibc-26a026b94036e2e2a41a6693327d796cc82bdacd.tar.xz
glibc-26a026b94036e2e2a41a6693327d796cc82bdacd.zip
Update.
2002-12-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/socket.S [NEED_CANCELLATION &&
	CENABLE]: Don't lose content of %ebx.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/i386/socket.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/socket.S b/sysdeps/unix/sysv/linux/i386/socket.S
index 52d3aa933e..53f1be61ea 100644
--- a/sysdeps/unix/sysv/linux/i386/socket.S
+++ b/sysdeps/unix/sysv/linux/i386/socket.S
@@ -91,13 +91,15 @@ L(pseudo_end):
         /* Do the system call trap.  */
 	int $0x80
 
+	/* Restore registers.  */
+	movl %edx, %ebx
+
 	/* Restore the cancellation.  */
 	xchgl %esi, %eax
 	CDISABLE
 
 	/* Restore registers.  */
 	movl %esi, %eax
-	movl %edx, %ebx
 	popl %esi
 
 	/* %eax is < 0 if there was an error.  */