[COMMITTED] NPTL: Move fork state variables to initializer files.

Message ID 20141217232426.59D942C3ABF@topped-with-meat.com
State Committed
Headers

Commit Message

Roland McGrath Dec. 17, 2014, 11:24 p.m. UTC
  This has no material effect on existing configurations, except perhaps
reducing dead code brought in when statically linking libpthread.a in.
It moves each definition into the translation unit using it that is closest
to the root of the link dependency graph.

Tested x86_64-linux-gnu.


Thanks,
Roland


	* sysdeps/nptl/fork.c (__fork_generation_pointer): Variable moved ...
	* nptl/libc_pthread_init.c: ... here.
	* sysdeps/nptl/fork.c (__fork_handlers): Variable moved ...
	* nptl/register-atfork.c: ... here.
  

Patch

--- a/nptl/libc_pthread_init.c
+++ b/nptl/libc_pthread_init.c
@@ -28,6 +28,9 @@ 
 #include <ldsodefs.h>
 
 
+unsigned long int *__fork_generation_pointer;
+
+
 #ifdef TLS_MULTIPLE_THREADS_IN_TCB
 void
 #else
--- a/nptl/register-atfork.c
+++ b/nptl/register-atfork.c
@@ -23,6 +23,8 @@ 
 #include <atomic.h>
 
 
+struct fork_handler *__fork_handlers;
+
 /* Lock to protect allocation and deallocation of fork handlers.  */
 int __fork_lock = LLL_LOCK_INITIALIZER;
 
--- a/sysdeps/nptl/fork.c
+++ b/sysdeps/nptl/fork.c
@@ -32,14 +32,6 @@ 
 #include <arch-fork.h>
 
 
-unsigned long int *__fork_generation_pointer;
-
-
-
-/* The single linked list of all currently registered fork handlers.  */
-struct fork_handler *__fork_handlers;
-
-
 static void
 fresetlockfiles (void)
 {