summary refs log tree commit diff
path: root/linuxthreads/sysdeps/sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-05 11:05:49 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-05 11:05:49 +0000
commitbdee30cfe40d9c5cfe0b8969877f11857d092359 (patch)
tree4ef8d92e79f6dfb21d6d9b410e41d6d49fe314d2 /linuxthreads/sysdeps/sh
parent73e9ae887fab0918165e49d783328c891c1b1bdb (diff)
downloadglibc-bdee30cfe40d9c5cfe0b8969877f11857d092359.tar.gz
glibc-bdee30cfe40d9c5cfe0b8969877f11857d092359.tar.xz
glibc-bdee30cfe40d9c5cfe0b8969877f11857d092359.zip
Update.
2003-01-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Mark
	__syscall_pread64 and __syscall_pwrite64 cancelable.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
	(INTERNAL_SYSCALL): New macro.
	(LOADARGS_0, LOADARGS_1): Fix.

2003-01-05  Ulrich Drepper  <drepper@redhat.com>

	* Makerules (build-shlip-helper): Unless told otherwise, add
	-Wl,-z,defs to linker command line.
	* rt/Makefile (librt.so): Link with ld.so.
	* dlfcn/Makefile (libdl.so): Likewise.
Diffstat (limited to 'linuxthreads/sysdeps/sh')
-rw-r--r--linuxthreads/sysdeps/sh/tls.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/linuxthreads/sysdeps/sh/tls.h b/linuxthreads/sysdeps/sh/tls.h
index 75d3b713df..de79aaed0a 100644
--- a/linuxthreads/sysdeps/sh/tls.h
+++ b/linuxthreads/sysdeps/sh/tls.h
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  linuxthreads/SH version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,10 +20,12 @@
 #ifndef _TLS_H
 #define _TLS_H
 
-#ifndef __ASSEMBLER__
-#include <stddef.h>
+# include <dl-sysdep.h>
+# include <pt-machine.h>
 
-#include <pt-machine.h>
+#ifndef __ASSEMBLER__
+# include <stddef.h>
+# include <stdint.h>
 
 /* Type for the dtv.  */
 typedef union dtv
@@ -39,18 +41,24 @@ typedef struct
 			   thread descriptor used by libpthread.  */
   dtv_t *dtv;
   void *self;		/* Pointer to the thread descriptor.  */
+  int multiple_threads;
 } tcbhead_t;
+#else /* __ASSEMBLER__ */
+# include <tcb-offsets.h>
+#endif /* __ASSEMBLER__ */
 
 
 /* We can support TLS only if the floating-stack support is available.  */
-#if defined FLOATING_STACKS && defined HAVE_TLS_SUPPORT
-
-/* Get system call information.  */
-# include <sysdep.h>
+#if defined HAVE_TLS_SUPPORT \
+    && (defined FLOATING_STACKS || !defined IS_IN_libpthread)
 
 /* Signal that TLS support is available.  */
 # define USE_TLS	1
 
+#ifndef __ASSEMBLER__
+
+/* Get system call information.  */
+# include <sysdep.h>
 
 /* Get the thread descriptor definition.  */
 # include <linuxthreads/descr.h>
@@ -103,13 +111,17 @@ typedef struct
     0;									      \
   })
 
+/* Indicate that dynamic linker shouldn't try to initialize TLS even
+   when no PT_TLS segments are found in the program and libraries
+   it is linked against.  */
+#  define TLS_INIT_TP_EXPENSIVE 1
 
 /* Return the address of the dtv for the current thread.  */
 # define THREAD_DTV() \
   ({ struct _pthread_descr_struct *__descr;				      \
      THREAD_GETMEM (__descr, p_header.data.dtvp); })
 
-#endif	/* FLOATING_STACKS && HAVE_TLS_SUPPORT */
+# endif	/* HAVE_TLS_SUPPORT && (FLOATING_STACKS || !IS_IN_libpthread) */
 #endif /* __ASSEMBLER__ */
 
 #endif	/* tls.h */