diff options
author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-11-13 04:05:31 +0000 |
---|---|---|
committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-11-13 04:05:31 +0000 |
commit | 5efcf07228a4532074784c85689dddcbb6b56c77 (patch) | |
tree | 5991b8c3ee489b7c34221390007e3bd67a689d41 /libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S | |
parent | 18b48698abe6cf957ec6ee5fa921b1a12f9bf914 (diff) | |
download | uClibc-alpine-5efcf07228a4532074784c85689dddcbb6b56c77.tar.bz2 uClibc-alpine-5efcf07228a4532074784c85689dddcbb6b56c77.tar.xz |
Begin merging of SuperH NPTL port. See the mailing list for further information.
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S')
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S index 9bc12da7e..9755b7e16 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S @@ -17,13 +17,11 @@ 02111-1307 USA. */ #include <sysdep.h> -#include <shlib-compat.h> #include <pthread-errnos.h> #include "lowlevel-atomic.h" #define SYS_gettimeofday __NR_gettimeofday -#define SYS_futex 240 #define FUTEX_WAIT 0 #define FUTEX_WAKE 1 @@ -33,12 +31,9 @@ .type __new_sem_post,@function .align 5 __new_sem_post: - mov #1, r3 - XADD (r3, @r4, r2) + INC (@r4, r6) mov #FUTEX_WAKE, r5 - mov r2, r6 - add #1, r6 mov #0, r7 mov #SYS_futex, r3 extu.b r3, r3 @@ -60,7 +55,12 @@ __new_sem_post: mov.l .Lerrno3, r0 stc gbr, r1 mov.l @(r0, r12), r0 + bra .Lexit add r1, r0 + .align 2 +.Lerrno3: + .long errno@GOTTPOFF +.Lexit: #else mov.l .Lerrloc3, r1 bsrf r1 @@ -76,12 +76,9 @@ __new_sem_post: .align 2 .Lgot3: .long _GLOBAL_OFFSET_TABLE_ -#if USE___THREAD -.Lerrno3: - .long errno@GOTTPOFF -#else +#if !USE___THREAD .Lerrloc3: .long __errno_location@PLT-(.Lerrloc3b-.) #endif .size __new_sem_post,.-__new_sem_post - versioned_symbol(libpthread, __new_sem_post, sem_post, GLIBC_2_1) + weak_alias(__new_sem_post, sem_post) |