From f9ec44fb98801bb6fa72f18b922f08c41dec0e36 Mon Sep 17 00:00:00 2001 From: Andrew Stubbs Date: Fri, 28 Aug 2009 14:57:16 -0700 Subject: SH lowlevellock broken for FUTEX_CLOCK_REALTIME. (cherry picked from commit 7812c65b908916f34161e41a76114004d0fcebb3) --- nptl/ChangeLog | 5 +++++ nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'nptl') 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 + + * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait): + Correct a logic error. + 2009-08-11 Ulrich Drepper * 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 -- cgit v1.2.3