]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 24 Feb 2002 08:34:04 +0000 (08:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 24 Feb 2002 08:34:04 +0000 (08:34 +0000)
2002-02-24  Ulrich Drepper  <drepper@redhat.com>

* elf/dl-support.c (_dl_non_dynamic_init): Renamed from
non_dynamic_init and exported now.
* sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
* sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
!SHARED.
* sysdeps/mach/hurd/i386/init-first.c: Likewise.
* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
* sysdeps/mach/hurd/mips/init-first.c: Likewise.

ChangeLog
elf/dl-support.c
sysdeps/mach/hurd/i386/init-first.c
sysdeps/mach/hurd/mips/init-first.c
sysdeps/mach/hurd/powerpc/init-first.c
sysdeps/unix/sysv/linux/init-first.c
sysdeps/unix/sysv/linux/ldsodefs.h

index 383c6a34aedf1f1604795a04755f5f0de8a663fd..ae639c2fd7aefcf80803e9171ca8e6c4b3314d34 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2002-02-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/dl-support.c (_dl_non_dynamic_init): Renamed from
+       non_dynamic_init and exported now.
+       * sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
+       * sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
+       !SHARED.
+       * sysdeps/mach/hurd/i386/init-first.c: Likewise.
+       * sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
+       * sysdeps/mach/hurd/mips/init-first.c: Likewise.
+
 2002-02-23  Ulrich Drepper  <drepper@redhat.com>
 
        * elf/dl-close.c (free_slotinfo): Check for end of list and return
index 876776acba6f8dbff01035bcfb6990c4140d50cb..5452dd10fa49140ced84286ef961524b8f2ddece 100644 (file)
@@ -177,10 +177,10 @@ _dl_aux_init (ElfW(auxv_t) *av)
 }
 #endif
 
-static void non_dynamic_init (void) __attribute__ ((unused));
 
-static void
-non_dynamic_init (void)
+void
+internal_function
+_dl_non_dynamic_init (void)
 {
   if (HP_TIMING_AVAIL)
     HP_TIMING_NOW (_dl_cpuclock_offset);
@@ -228,7 +228,7 @@ non_dynamic_init (void)
   if (_dl_platform != NULL)
     _dl_platformlen = strlen (_dl_platform);
 }
-text_set_element (__libc_subinit, non_dynamic_init);
+
 
 const struct r_strlenpair *
 internal_function
index f8149da4a2b3576627a8ad41c410f3550e3323e3..ad32b30af052448ce3fa8a50c9a53901a1dc00c8 100644 (file)
@@ -33,6 +33,9 @@ extern void __init_misc (int, char **, char **);
 #ifdef USE_NONOPTION_FLAGS
 extern void __getopt_clean_environment (char **);
 #endif
+#ifndef SHARED
+extern void _dl_non_dynamic_init (void) internal_function;
+#endif
 extern void __libc_global_ctors (void);
 
 unsigned int __hurd_threadvar_max;
@@ -65,6 +68,9 @@ posixland_init (int argc, char **argv, char **envp)
   __libc_argv = argv;
   __environ = envp;
 
+#ifndef SHARED
+  _dl_non_dynamic_init ();
+#endif
   __init_misc (argc, argv, envp);
   __libc_init (argc, argv, envp);
 
index 525f510cc12bf31bdf5771f8b39612958adc03a6..07b8e9e38c46443f20c388858f3859071fb8f576 100644 (file)
@@ -31,6 +31,9 @@ extern void __init_misc (int, char **, char **);
 #ifdef USE_NONOPTION_FLAGS
 extern void __getopt_clean_environment (char **);
 #endif
+#ifndef SHARED 
+extern void _dl_non_dynamic_init (void) internal_function;
+#endif
 extern void __libc_global_ctors (void);
 
 unsigned int __hurd_threadvar_max;
@@ -107,6 +110,9 @@ init1 (int argc, char *arg0, ...)
                d->portarray, d->portarraysize,
                d->intarray, d->intarraysize);
 
+#ifndef SHARED
+  _dl_non_dynamic_init ();
+#endif
   __init_misc (argc, argv, __environ);
   __libc_init (argc, argv, __environ);
 
index c9ad66096b37072ae746adb98f5d151af8e8e670..18e824a487eb4253663808ced03fd120e58fca95 100644 (file)
@@ -33,6 +33,9 @@ extern void __init_misc (int, char **, char **);
 #ifdef USE_NONOPTION_FLAGS
 extern void __getopt_clean_environment (char **);
 #endif
+#ifndef SHARED 
+extern void _dl_non_dynamic_init (void) internal_function;
+#endif
 extern void __libc_global_ctors (void);
 
 unsigned int __hurd_threadvar_max;
@@ -70,6 +73,9 @@ posixland_init (int argc, char **argv, char **envp)
   __libc_argv = argv;
   __environ = envp;
 
+#ifndef SHARED
+  _dl_non_dynamic_init ();
+#endif
   __init_misc (argc, argv, envp);
   __libc_init (argc, argv, envp);
 
index 1fb04bbda1ac67aedeace71ce03a1d5dca194461..7568a32ad1b55d8d396ac5f98eca62ce9107e885 100644 (file)
@@ -87,6 +87,10 @@ init (int argc, char **argv, char **envp)
 
 #ifndef SHARED
   __libc_init_secure ();
+
+  /* First the initialization which normally would be done by the
+     dynamic linker.  */
+  _dl_non_dynamic_init ();
 #endif
 
   __init_misc (argc, argv, envp);
index 6e1a13e39a76b3006e18a4edb10ca2c48e32e62c..8e37f4df6aba4924faa5b2f11a84426054c997fb 100644 (file)
@@ -1,5 +1,5 @@
 /* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 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
@@ -32,6 +32,9 @@
 /* Used by static binaries to check the auxiliary vector.  */
 extern void _dl_aux_init (ElfW(auxv_t) *av) internal_function;
 
+/* Initialization which is normally done by the dynamic linker.  */
+extern void _dl_non_dynamic_init (void) internal_function;
+
 /* We can assume that the kernel always provides the AT_UID, AT_EUID,
    AT_GID, and AT_EGID values in the auxiliary vector.  */
 #define HAVE_AUX_XID