diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2015-11-25 00:55:35 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2015-11-25 00:55:35 +0100 |
commit | 498cb6ef5ec304bc968b08b45ded0c7fa783da64 (patch) | |
tree | 122e075af29ed7cd23f9d50f3d2581408f6d531a | |
parent | 0c5c4d150f7447df4936acc5320472194b9dafae (diff) | |
parent | a861b0de85f6441ba50e93d8794f613253e6d0b4 (diff) |
Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into tschwinge/Roger_Whittaker
-rw-r--r-- | sysdeps/mach/hurd/Versions | 4 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/libc-lock.h | 6 | ||||
-rw-r--r-- | sysdeps/mach/hurd/cthreads.c | 13 |
3 files changed, 3 insertions, 20 deletions
diff --git a/sysdeps/mach/hurd/Versions b/sysdeps/mach/hurd/Versions index f760a80401..7cab8e8551 100644 --- a/sysdeps/mach/hurd/Versions +++ b/sysdeps/mach/hurd/Versions @@ -6,7 +6,7 @@ libc { GLIBC_PRIVATE { # Functions shared with the dynamic linker __libc_read; __libc_write; __libc_lseek64; - __libc_lock_self0; __libc_get_lock_self; + __libc_lock_self0; _dl_init_first; } @@ -32,6 +32,6 @@ ld { # functions that must be shared with libc __libc_read; __libc_write; __libc_lseek64; - __libc_lock_self0; __libc_get_lock_self; + __libc_lock_self0; } } diff --git a/sysdeps/mach/hurd/bits/libc-lock.h b/sysdeps/mach/hurd/bits/libc-lock.h index cc4afb1507..c9872c661a 100644 --- a/sysdeps/mach/hurd/bits/libc-lock.h +++ b/sysdeps/mach/hurd/bits/libc-lock.h @@ -35,11 +35,7 @@ typedef struct typedef __libc_lock_recursive_t __rtld_lock_recursive_t; extern char __libc_lock_self0[0]; -/* We have to hide the __libc_lock_self access behind a function call, - otherwise gcc >= 4.9 would try to prefetch the TLS dereference even before - the __LIBC_NO_TLS test is finished... */ -extern void *__libc_get_lock_self(void); -#define __libc_lock_owner_self() (__LIBC_NO_TLS() ? &__libc_lock_self0 : __libc_get_lock_self()) +#define __libc_lock_owner_self() (__LIBC_NO_TLS() ? &__libc_lock_self0 : THREAD_SELF) #else typedef struct __libc_lock_opaque__ __libc_lock_t; diff --git a/sysdeps/mach/hurd/cthreads.c b/sysdeps/mach/hurd/cthreads.c index 273cd0f8a2..e25fcd0962 100644 --- a/sysdeps/mach/hurd/cthreads.c +++ b/sysdeps/mach/hurd/cthreads.c @@ -20,19 +20,6 @@ #include <stdlib.h> char __libc_lock_self0[0]; -#if IS_IN_rtld -/* We don't support static tls relocation so early, but we do not have threads - there either anyway. */ -static char __libc_lock_self[0]; -#else -static __thread char __libc_lock_self[0]; -#endif - -void * -__libc_get_lock_self(void) -{ - return (void*) &__libc_lock_self; -} /* Placeholder for key creation routine from Hurd cthreads library. */ int |