]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
nptl: Move __nptl_create_event, __nptl_death_event into libc
authorFlorian Weimer <fweimer@redhat.com>
Mon, 17 May 2021 07:59:14 +0000 (09:59 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 17 May 2021 08:06:44 +0000 (10:06 +0200)
In libthread_db, use the exported GLIBC_PRIVATE symbols directly
instead of relying on _thread_db_* variables in libpthread
(which used to be created by the DB_FUNCTION macros).

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
nptl/Makefile
nptl/Versions
nptl/events.c
nptl/pthreadP.h
nptl_db/db-symbols.awk
nptl_db/structs.def

index 37a762d530f6e5b585390afc692bb32521b32a70..b57b010779ba7302bbf0519a1edb3535b24de3f0 100644 (file)
@@ -41,6 +41,7 @@ routines = \
   elision-timed \
   elision-trylock \
   elision-unlock \
+  events \
   futex-internal \
   libc-cleanup \
   libc_multiple_threads \
@@ -200,7 +201,6 @@ shared-only-routines = forward
 static-only-routines = pthread_atfork
 
 libpthread-routines = \
-  events \
   libpthread-compat \
   nptl-init \
   pt-interp \
index fb3379b7882712adf0038f18a00d60e371edcfc7..6e2def1b4ce12ea20dba828d7da0291238f64a22 100644 (file)
@@ -351,6 +351,8 @@ libc {
     tss_set;
   }
   GLIBC_PRIVATE {
+     __nptl_create_event;
+     __nptl_death_event;
     __default_pthread_attr;
     __default_pthread_attr_lock;
     __futex_abstimed_wait64;
index 5a07e5840203f8656e40fb25724bf1825b4d9dc5..ab57fefd483473adea9ccfc856e3c21fe788b733 100644 (file)
@@ -24,10 +24,10 @@ void
 __nptl_create_event (void)
 {
 }
-hidden_def (__nptl_create_event)
+libc_hidden_def (__nptl_create_event)
 
 void
 __nptl_death_event (void)
 {
 }
-hidden_def (__nptl_death_event)
+libc_hidden_def (__nptl_death_event)
index dc2aece37e2cac9e29ee7dc4544e8c6604ed9254..a4a87cb5495cfb469a7133e4d23ee75c416710ef 100644 (file)
@@ -337,8 +337,8 @@ rtld_hidden_proto (__nptl_initial_report_events)
 /* Event handlers for libthread_db interface.  */
 extern void __nptl_create_event (void);
 extern void __nptl_death_event (void);
-hidden_proto (__nptl_create_event)
-hidden_proto (__nptl_death_event)
+libc_hidden_proto (__nptl_create_event)
+libc_hidden_proto (__nptl_death_event)
 
 /* The fork generation counter, defined in libpthread.  */
 extern unsigned long int __fork_generation attribute_hidden;
index 9e981537c883b7bf8abb999e172065306c657aa0..6f326cf379fc886b473aa95968b0f62784d98d94 100644 (file)
@@ -4,6 +4,7 @@
 BEGIN {
 %define DB_RTLD_VARIABLE(name) /* Nothing. */
 %define DB_MAIN_VARIABLE(name) /* Nothing. */
+%define DB_MAIN_SYMBOL(name) /* Nothing. */
 %define DB_MAIN_ARRAY_VARIABLE(name) /* Nothing. */
 %define DB_LOOKUP_NAME(idx, name)              required[STRINGIFY (name)] = 1;
 %define DB_LOOKUP_NAME_TH_UNIQUE(idx, name)    th_unique[STRINGIFY (name)] = 1;
index 275c12bc7a0dd65e6f2909155a931f979cb4933d..71c9f7bfc2f75858a35ebe7f523c87143764d6d7 100644 (file)
 # define DB_RTLD_VARIABLE(name) DB_VARIABLE (name)
 #endif
 
-/* DB_MAIN_VARIABLE and DB_MAIN_ARRAY_VARIABLE are not covered by the
-   libpthread symbol check in db-symbols.awk.  */
+/* DB_MAIN_VARIABLE, DB_MAIN_SYMBOL, DB_MAIN_ARRAY_VARIABLE are not
+   covered by the libpthread symbol check in db-symbols.awk.  */
 #ifndef DB_MAIN_VARIABLE
 # define DB_MAIN_VARIABLE(name) DB_VARIABLE (name)
 #endif
+#ifndef DB_MAIN_SYMBOL
+# define DB_MAIN_SYMBOL(name) DB_SYMBOL (name)
+#endif
 #ifndef DB_MAIN_ARRAY_VARIABLE
 # define DB_MAIN_ARRAY_VARIABLE(name) DB_ARRAY_VARIABLE (name)
 #endif
@@ -75,8 +78,8 @@ DB_STRUCT_FIELD (td_eventbuf_t, eventnum)
 DB_STRUCT_FIELD (td_eventbuf_t, eventdata)
 
 DB_SYMBOL (nptl_version)
-DB_FUNCTION (__nptl_create_event)
-DB_FUNCTION (__nptl_death_event)
+DB_MAIN_SYMBOL (__nptl_create_event)
+DB_MAIN_SYMBOL (__nptl_death_event)
 DB_SYMBOL (__nptl_threads_events)
 DB_MAIN_VARIABLE (__nptl_nthreads)
 DB_VARIABLE (__nptl_last_event)