Fixed pthread_spin_lock on sparc32/64 (bug 16882)

[BZ #16882]
	* nptl/sysdeps/sparc/sparc32/pthread_spin_lock.S
	(pthread_spin_lock): Branch out of spin loop to proper location.
	* nptl/sysdeps/sparc/sparc64/pthread_spin_lock.S
	(pthread_spin_lock): Likewise.
This commit is contained in:
Guo Yixuan 2014-05-29 21:43:15 -07:00 committed by David S. Miller
parent f9d2d03254
commit b42eca7d39
3 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2014-06-03 Guo Yixuan <culu.gyx@gmail.com>
[BZ #16882]
* nptl/sysdeps/sparc/sparc32/pthread_spin_lock.S
(pthread_spin_lock): Branch out of spin loop to proper location.
* nptl/sysdeps/sparc/sparc64/pthread_spin_lock.S
(pthread_spin_lock): Likewise.
2014-06-03 Andreas Schwab <schwab@suse.de>
[BZ #15946]

View File

@ -19,11 +19,11 @@
.text
ENTRY(pthread_spin_lock)
ldstub [%o0], %g1
1: ldstub [%o0], %g1
orcc %g1, 0x0, %g0
bne,a 2f
ldub [%o0], %g1
1: retl
retl
mov 0, %o0
2: orcc %g1, 0x0, %g0
bne,a 2b

View File

@ -19,10 +19,10 @@
.text
ENTRY(pthread_spin_lock)
ldstub [%o0], %g1
1: ldstub [%o0], %g1
brnz,pn %g1, 2f
membar #StoreLoad | #StoreStore
1: retl
retl
mov 0, %o0
2: ldub [%o0], %g1
brnz,pt %g1, 2b