summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2009-08-28 14:57:16 -0700
committerPetr Baudis <pasky@suse.cz>2009-09-18 17:54:56 +0200
commitf9ec44fb98801bb6fa72f18b922f08c41dec0e36 (patch)
treef501cc9541267b3edb8acca34cdde053811e5dde /nptl
parenta5b9372e3d5055b5c049945aeab236d9a867789e (diff)
SH lowlevellock broken for FUTEX_CLOCK_REALTIME.
(cherry picked from commit 7812c65b908916f34161e41a76114004d0fcebb3)
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S18
2 files changed, 14 insertions, 9 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index f5650001fb..2f5f74eb93 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-27 Andrew Stubbs <ams@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait):
+ Correct a logic error.
+
2009-08-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Add CFI
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
index b80c369a3c..49b4e6d6e0 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
@@ -52,7 +52,7 @@
# define LOAD_PRIVATE_FUTEX_WAIT(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, reg ; \
- add reg, tmp ; \
+ add reg, tmp ; \
bra 98f ; \
mov.l @tmp, reg ; \
99: .word PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
@@ -61,7 +61,7 @@
# define LOAD_PRIVATE_FUTEX_WAIT(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, reg ; \
- add reg, tmp ; \
+ add reg, tmp ; \
mov.l @tmp, reg ; \
bra 98f ; \
mov #FUTEX_WAIT, tmp ; \
@@ -71,7 +71,7 @@
# define LOAD_PRIVATE_FUTEX_WAKE(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, reg ; \
- add reg, tmp ; \
+ add reg, tmp ; \
mov.l @tmp, reg ; \
bra 98f ; \
mov #FUTEX_WAKE, tmp ; \
@@ -81,7 +81,7 @@
# define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, tmp2 ; \
- add tmp2, tmp ; \
+ add tmp2, tmp ; \
mov.l @tmp, tmp2 ; \
bra 98f ; \
mov #FUTEX_PRIVATE_FLAG, tmp ; \
@@ -93,7 +93,7 @@
# define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, tmp2 ; \
- add tmp2, tmp ; \
+ add tmp2, tmp ; \
mov.l @tmp, tmp2 ; \
bra 98f ; \
mov #FUTEX_PRIVATE_FLAG, tmp ; \
@@ -107,7 +107,7 @@
# define LOAD_FUTEX_WAIT_ABS(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, tmp2 ; \
- add tmp2, tmp ; \
+ add tmp2, tmp ; \
mov.l @tmp, tmp2 ; \
bra 98f ; \
mov #FUTEX_PRIVATE_FLAG, tmp ; \
@@ -123,7 +123,7 @@
# define LOAD_FUTEX_WAKE(reg,tmp,tmp2) \
stc gbr, tmp ; \
mov.w 99f, tmp2 ; \
- add tmp2, tmp ; \
+ add tmp2, tmp ; \
mov.l @tmp, tmp2 ; \
bra 98f ; \
mov #FUTEX_PRIVATE_FLAG, tmp ; \
@@ -253,7 +253,7 @@ __lll_timedlock_wait:
mov #2, r6
cmp/eq r6, r2
bf/s 2f
- mov r2, r6
+ mov r6, r2
1:
mov #2, r6
@@ -327,7 +327,7 @@ __lll_timedlock_wait:
tst r3, r3
bt 6f
-
+
1:
/* Get current time. */
mov r15, r4