about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/alpha/select.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/select.S')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/select.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/select.S b/sysdeps/unix/sysv/linux/alpha/select.S
index 704e71d753..1876e2f947 100644
--- a/sysdeps/unix/sysv/linux/alpha/select.S
+++ b/sysdeps/unix/sysv/linux/alpha/select.S
@@ -50,6 +50,11 @@ LEAF(SELECT, 64)
 	.prologue 1
 
 	ldl	t0, __libc_missing_axp_tv64
+
+	/* Save timeout early, since we'll need to recover this after 
+	   the system call.  */
+	stq	a4, 48(sp)
+
 	bne	t0, $do32
 
 	/* Save arguments in case we do need to fall back.  */
@@ -57,7 +62,6 @@ LEAF(SELECT, 64)
 	stq	a1, 16(sp)
 	stq	a2, 24(sp)
 	stq	a3, 32(sp)
-	stq	a4, 48(sp)
 
 	ldi	v0, SYS_ify(select)
 	callsys