about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2012-03-14 16:36:17 +0100
committerAndreas Jaeger <aj@suse.de>2012-03-14 16:36:17 +0100
commit356a10ee3ee36bec0af7e8a1c61e353e0af45904 (patch)
tree421de93f9f53c04d796ccd31102baf135dc55ed8 /nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
parenta20026128cef2e95ffd15fb293dd6b1e9bf3ae1e (diff)
parente456826d7a539fb322bb9719297bd386eded8e32 (diff)
downloadglibc-356a10ee3ee36bec0af7e8a1c61e353e0af45904.tar.gz
glibc-356a10ee3ee36bec0af7e8a1c61e353e0af45904.tar.xz
glibc-356a10ee3ee36bec0af7e8a1c61e353e0af45904.zip
Merge branch 'master' into bug13658-branch
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S10
1 files changed, 8 insertions, 2 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
index 9327860ac9..fe4e3b628b 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
@@ -1,5 +1,4 @@
-/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
-   Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 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
@@ -243,6 +242,12 @@ __lll_timedlock_wait:
 	bt	.Lreltmo
 # endif
 
+	/* if (timeout->tv_sec < 0) return ETIMEDOUT; */
+	mov.l	@r6, r1
+	cmp/pz	r1
+	bf/s	5f
+	 mov	#ETIMEDOUT, r0
+
 	mov	r4, r2
 	mov	r5, r4
 	mov	r7, r5
@@ -278,6 +283,7 @@ __lll_timedlock_wait:
 	neg	r0, r3
 3:
 	mov	r3, r0
+5:
 	rts
 	 mov.l	@r15+, r12