about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-05-21 22:38:06 +0000
committerUlrich Drepper <drepper@redhat.com>2007-05-21 22:38:06 +0000
commit6d59823c29df228415836f289e62064f95849e71 (patch)
treef6475011e9a3e31355379e0b1576b9998abf5e96 /nptl
parent7adefea85d3fcd88e60638d18a022b6968b9b891 (diff)
downloadglibc-6d59823c29df228415836f289e62064f95849e71.tar.gz
glibc-6d59823c29df228415836f289e62064f95849e71.tar.xz
glibc-6d59823c29df228415836f289e62064f95849e71.zip
* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct value
	as second parameter to handle_intel.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog12
-rw-r--r--nptl/sysdeps/pthread/pthread-functions.h1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c6
-rw-r--r--nptl/sysdeps/x86_64/tls.h5
4 files changed, 13 insertions, 11 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index ed00f55a22..2d4f50b73b 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,15 @@
+2007-05-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
+	Remove ptr_wait_lookup_done again.
+	* init.c (pthread_functions): Don't add .ptr_wait_lookup_done here.
+	(__pthread_initialize_minimal_internal): Initialize
+	_dl_wait_lookup_done pointer in _rtld_global directly.
+	* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
+	Remove code to code _dl_wait_lookup_done.
+	* sysdeps/x86_64/tls.h (THREAD_GSCOPE_WAIT): The pointer is not
+	encrypted for now.
+
 2007-05-21  Jakub Jelinek  <jakub@redhat.com>
 
 	* tst-robust9.c (do_test): Don't fail if ENABLE_PI and
diff --git a/nptl/sysdeps/pthread/pthread-functions.h b/nptl/sysdeps/pthread/pthread-functions.h
index f0eddd3053..0c404fcbb3 100644
--- a/nptl/sysdeps/pthread/pthread-functions.h
+++ b/nptl/sysdeps/pthread/pthread-functions.h
@@ -97,7 +97,6 @@ struct pthread_functions
   void (*ptr__nptl_deallocate_tsd) (void);
   int (*ptr__nptl_setxid) (struct xid_command *);
   void (*ptr_freeres) (void);
-  void (*ptr_wait_lookup_done) (void);
 };
 
 /* Variable in libc.so.  */
diff --git a/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c b/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
index 25509eb3d6..4b614bd1a6 100644
--- a/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
+++ b/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
@@ -71,12 +71,6 @@ __libc_pthread_init (ptr, reclaim, functions)
       dest->parr[cnt] = p;
     }
   __libc_pthread_functions_init = 1;
-
-# ifdef RTLD_NOT_MANGLED
-  GL(dl_wait_lookup_done) = functions->ptr_wait_lookup_done;
-# else
-  GL(dl_wait_lookup_done) = __libc_pthread_functions.ptr_wait_lookup_done;
-# endif
 #endif
 
 #ifndef TLS_MULTIPLE_THREADS_IN_TCB
diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h
index 00c9abbfcb..3a69e0428a 100644
--- a/nptl/sysdeps/x86_64/tls.h
+++ b/nptl/sysdeps/x86_64/tls.h
@@ -357,10 +357,7 @@ typedef struct
 #define THREAD_GSCOPE_SET_FLAG() \
   THREAD_SETMEM (THREAD_SELF, header.gscope_flag, THREAD_GSCOPE_FLAG_USED)
 #define THREAD_GSCOPE_WAIT() \
-  do { void (*ptr) (void) = GL(dl_wait_lookup_done);			      \
-       PTR_DEMANGLE (ptr);						      \
-       ptr ();								      \
-  } while (0)
+  GL(dl_wait_lookup_done) ()
 
 
 #endif /* __ASSEMBLER__ */