diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-01-05 11:05:49 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-01-05 11:05:49 +0000 |
commit | bdee30cfe40d9c5cfe0b8969877f11857d092359 (patch) | |
tree | 4ef8d92e79f6dfb21d6d9b410e41d6d49fe314d2 /linuxthreads/sysdeps/sh | |
parent | 73e9ae887fab0918165e49d783328c891c1b1bdb (diff) | |
download | glibc-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.h | 30 |
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 */ |