diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-07-14 17:11:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-07-14 17:11:14 +0000 |
commit | 290639c3b42dda0d6245d7a56740a89da07eca4c (patch) | |
tree | cfab5c484de45aaa369f4c934f12d02c3f7b3aab /linuxthreads/sysdeps | |
parent | 6c1232e27d521f5fc63ea56e4fe9b32e16887c03 (diff) | |
download | glibc-290639c3b42dda0d6245d7a56740a89da07eca4c.tar.gz glibc-290639c3b42dda0d6245d7a56740a89da07eca4c.tar.xz glibc-290639c3b42dda0d6245d7a56740a89da07eca4c.zip |
[BZ #266]
Update. 2004-07-14 Jakub Jelinek <jakub@redhat.com> [BZ #266] * manual/string.texi (l64a): Note that the static buffer is 7 bytes long. Rewrite example code so that it takes account l64a output shorter than 6 characters. Reported by Julian Graham <julian.graham@aya.yale.edu>.
Diffstat (limited to 'linuxthreads/sysdeps')
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h index 9fac494a9f..03c6fedbfe 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h @@ -99,6 +99,7 @@ # else # define __local_enable_asynccancel __librt_enable_asynccancel # define __local_disable_asynccancel __librt_disable_asynccancel +# define __local_multiple_threads __librt_multiple_threads # endif # if defined IS_IN_librt && defined PIC @@ -183,7 +184,8 @@ extern int __local_multiple_threads attribute_hidden; 1: # else -# define SINGLE_THREAD_P \ +# if !defined NOT_IN_libc || defined IS_IN_libpthread +# define SINGLE_THREAD_P \ mov r12,r2; \ mov.l 0f,r12; \ mova 0f,r0; \ @@ -197,6 +199,23 @@ extern int __local_multiple_threads attribute_hidden; 0: .long _GLOBAL_OFFSET_TABLE_; \ 1: .long __local_multiple_threads@GOTOFF; \ 2: +# else +# define SINGLE_THREAD_P \ + mov r12,r2; \ + mov.l 0f,r12; \ + mova 0f,r0; \ + add r0,r12; \ + mov.l 1f,r0; \ + mov.l @(r0,r12),r0; \ + mov.l @r0,r0; \ + mov r2,r12; \ + bra 2f; \ + tst r0,r0; \ + .align 2; \ + 0: .long _GLOBAL_OFFSET_TABLE_; \ + 1: .long __local_multiple_threads@GOT; \ + 2: +# endif # endif # endif |