aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-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. */