This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The attached patch is a follow-up of Fix SH build http://sources.redhat.com/ml/libc-hacker/2007-06/msg00008.html and fixes instructions which are non-existent on SH-3/4. I've missed that mov.b insn has a very limited display on these CPUs. I could fix my kernel problems and now these patches are tested with "make check" on 2.6.22-rc4 kernel with no nptl failures. Uli, could you please approve these patches? Should I send the whole revised patch? Regards, kaz -- 2007-06-17 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: (__pthread_rwlock_rdlock): Don't use non SH-3/4 instruction. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: (__pthread_rwlock_wrlock): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: (pthread_rwlock_timedrdlock): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: (pthread_rwlock_timedwrlock): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: (__pthread_rwlock_unlock): Likewise. diff -uprN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S --- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S 2007-06-17 00:00:04.000000000 +0900 +++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S 2007-06-17 06:34:50.000000000 +0900 @@ -57,7 +57,8 @@ __pthread_rwlock_rdlock: mov.l @(WRITERS_QUEUED,r8), r0 tst r0, r0 bt 5f - mov.b @(FLAGS,r8), r0 + mov #FLAGS, r0 + mov.b @(r0,r8), r0 tst r0, r0 bt 5f 3: @@ -78,12 +79,14 @@ __pthread_rwlock_rdlock: bf 10f 11: #if __ASSUME_PRIVATE_FUTEX - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 mov #(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0 xor r0, r5 extu.b r5, r5 #else - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 extu.b r5, r5 # if FUTEX_WAIT != 0 mov #FUTEX_WAIT, r0 diff -uprN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S --- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S 2007-06-17 00:00:04.000000000 +0900 +++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S 2007-06-17 06:35:28.000000000 +0900 @@ -61,7 +61,8 @@ pthread_rwlock_timedrdlock: mov.l @(WRITERS_QUEUED,r8), r0 tst r0, r0 bt 5f - mov.b @(FLAGS,r8), r0 + mov #FLAGS, r0 + mov.b @(r0,r8), r0 tst r0, r0 bt 5f 3: @@ -120,12 +121,14 @@ pthread_rwlock_timedrdlock: /* Futex call. */ mov r15, r7 #if __ASSUME_PRIVATE_FUTEX - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 mov #(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0 xor r0, r5 extu.b r5, r5 #else - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 extu.b r5, r5 # if FUTEX_WAIT != 0 mov #FUTEX_WAIT, r0 diff -uprN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S --- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S 2007-06-17 00:00:04.000000000 +0900 +++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S 2007-06-16 23:39:19.000000000 +0900 @@ -117,12 +117,14 @@ pthread_rwlock_timedwrlock: /* Futex call. */ mov r15, r7 #if __ASSUME_PRIVATE_FUTEX - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 mov #(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0 xor r0, r5 extu.b r5, r5 #else - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 extu.b r5, r5 # if FUTEX_WAIT != 0 mov #FUTEX_WAIT, r0 diff -uprN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S --- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S 2007-06-17 00:00:04.000000000 +0900 +++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S 2007-06-16 23:39:56.000000000 +0900 @@ -90,12 +90,14 @@ __pthread_rwlock_unlock: 8: #if __ASSUME_PRIVATE_FUTEX - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 mov #(FUTEX_PRIVATE_FLAG|FUTEX_WAKE), r0 xor r0, r5 extu.b r5, r5 #else - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 extu.b r5, r5 mov #FUTEX_WAKE, r0 or r0, r5 diff -uprN ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S --- ORIG/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S 2007-06-17 00:00:04.000000000 +0900 +++ LOCAL/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S 2007-06-16 23:34:12.000000000 +0900 @@ -77,12 +77,14 @@ __pthread_rwlock_wrlock: mov r8, r4 add #WRITERS_WAKEUP, r4 #if __ASSUME_PRIVATE_FUTEX - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 mov #(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0 xor r0, r5 extu.b r5, r5 #else - mov.b @(PSHARED,r8), r5 + mov #PSHARED, r0 + mov.b @(r0,r8), r5 extu.b r5, r5 # if FUTEX_WAIT != 0 mov #FUTEX_WAIT, r0
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |