From bdee30cfe40d9c5cfe0b8969877f11857d092359 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 5 Jan 2003 11:05:49 +0000 Subject: Update. 2003-01-04 Franz Sirl * 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 * 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. --- linuxthreads/sysdeps/sh/tls.h | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'linuxthreads/sysdeps/sh') diff --git a/linuxthreads/sysdeps/sh/tls.h b/linuxthreads/sysdeps/sh/tls.h index 75d3b71..de79aae 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 +# include +# include -#include +#ifndef __ASSEMBLER__ +# include +# include /* 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 +#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 +#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 /* Get the thread descriptor definition. */ # include @@ -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 */ -- cgit v1.1