about summary refs log tree commit diff
path: root/elf/dl-support.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-support.c')
-rw-r--r--elf/dl-support.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/elf/dl-support.c b/elf/dl-support.c
index 1332e8a89f..0efbcc4cb6 100644
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
@@ -1,5 +1,5 @@
 /* Support for dynamic linking code in static libc.
-   Copyright (C) 1996, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1996-2001, 2002 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
@@ -52,9 +52,6 @@ int _dl_dynamic_weak = 1;
 /* If nonzero print warnings about problematic situations.  */
 int _dl_verbose;
 
-/* Structure to store information about search paths.  */
-struct r_search_path *_dl_search_paths;
-
 /* We never do profiling.  */
 const char *_dl_profile;
 
@@ -104,6 +101,24 @@ int _dl_starting_up = 1;
 hp_timing_t _dl_cpuclock_offset;
 #endif
 
+/* This is zero at program start to signal that the global scope map is
+   allocated by rtld.  Later it keeps the size of the map.  It might be
+   reset if in _dl_close if the last global object is removed.  */
+size_t _dl_global_scope_alloc;
+
+size_t _dl_pagesize;
+
+unsigned int _dl_osversion;
+
+/* All known directories in sorted order.  */
+struct r_search_path_elem *_dl_all_dirs;
+
+/* All directories after startup.  */
+struct r_search_path_elem *_dl_init_all_dirs;
+
+/* The object to be initialized first.  */
+struct link_map *_dl_initfirst;
+
 /* During the program run we must not modify the global data of
    loaded shared object simultanously in two threads.  Therefore we
    protect `_dl_open' and `_dl_close' in dl-close.c.
@@ -115,7 +130,7 @@ __libc_lock_define_initialized_recursive (, _dl_load_lock)
 
 
 #ifdef HAVE_AUX_VECTOR
-extern int _dl_clktck;
+int _dl_clktck;
 
 void
 internal_function
@@ -125,10 +140,10 @@ _dl_aux_init (ElfW(auxv_t) *av)
     switch (av->a_type)
       {
       case AT_PAGESZ:
-	_dl_pagesize = av->a_un.a_val;
+	GL(dl_pagesize) = av->a_un.a_val;
 	break;
       case AT_CLKTCK:
-	_dl_clktck = av->a_un.a_val;
+	GL(dl_clktck) = av->a_un.a_val;
 	break;
       }
 }