summary refs log tree commit diff
path: root/linuxthreads/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-07-14 17:11:14 +0000
committerUlrich Drepper <drepper@redhat.com>2004-07-14 17:11:14 +0000
commit290639c3b42dda0d6245d7a56740a89da07eca4c (patch)
treecfab5c484de45aaa369f4c934f12d02c3f7b3aab /linuxthreads/sysdeps
parent6c1232e27d521f5fc63ea56e4fe9b32e16887c03 (diff)
downloadglibc-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.h21
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