]> sourceware.org Git - glibc.git/commitdiff
* sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED]
authorRoland McGrath <roland@gnu.org>
Fri, 25 Oct 2002 19:41:31 +0000 (19:41 +0000)
committerRoland McGrath <roland@gnu.org>
Fri, 25 Oct 2002 19:41:31 +0000 (19:41 +0000)
conditional from __libc_multiple_libcs access.  Remove kludge for weak
symbol access with old compilers we no longer support.
* sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
* sysdeps/generic/libc-start.c (__libc_start_main): Likewise.

2002-10-24  Roland McGrath  <roland@redhat.com>

* sysdeps/generic/ldsodefs.h (struct rtld_global): New member
`_dl_tls_static_used'.
(TLS_STATIC_MIN): New macro.
* sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
(__libc_setup_tls): Initialize it.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Likewise.
* elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
(CHECK_STATIC_TLS): Use it.
* elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the
closed objects occupied a trailing contiguous chunk of static TLS area.

2002-10-25  Roland McGrath  <roland@redhat.com>

ChangeLog
sysdeps/generic/libc-start.c
sysdeps/unix/sysv/aix/init-first.c
sysdeps/unix/sysv/linux/init-first.c

index 1394bab47339dc8a3e8237465103ffe39431be15..b75b5ef964977f9ea97401238f34b1aaa25d7d58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2002-10-25  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED]
+       conditional from __libc_multiple_libcs access.  Remove kludge for weak
+       symbol access with old compilers we no longer support.
+       * sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
+       * sysdeps/generic/libc-start.c (__libc_start_main): Likewise.
+
+2002-10-24  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/generic/ldsodefs.h (struct rtld_global): New member
+       `_dl_tls_static_used'.
+       (TLS_STATIC_MIN): New macro.
+       * sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
+       (__libc_setup_tls): Initialize it.
+       * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Likewise.
+       * elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
+       (CHECK_STATIC_TLS): Use it.
+       * elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the
+       closed objects occupied a trailing contiguous chunk of static TLS area.
+
 2002-10-25  Roland McGrath  <roland@redhat.com>
 
        * sysdeps/posix/sigvec.c [SA_RESETHAND]: Disable wrapper hacks and
index 806ed789ccbb6b9e715a180d9119e9152b8dbeca..ef02b1819f3d76cf977bba53994c44345997fdcd 100644 (file)
@@ -64,13 +64,7 @@ BP_SYM (__libc_start_main) (int (*main) (int, char **, char **),
   /* Result of the 'main' function.  */
   int result;
 
-#ifndef SHARED
-# ifdef HAVE_AUX_VECTOR
-  void *__unbounded *__unbounded auxvec;
-# endif
-
   __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up;
-#endif
 
   INIT_ARGV_and_ENVIRON;
 
@@ -79,6 +73,7 @@ BP_SYM (__libc_start_main) (int (*main) (int, char **, char **),
 
 #ifndef SHARED
 # ifdef HAVE_AUX_VECTOR
+  void *__unbounded *__unbounded auxvec;
   /* First process the auxiliary vector since we need to find the
      program header to locate an eventually present PT_TLS entry.  */
   for (auxvec = (void *__unbounded *__unbounded) ubp_ev;
index 8272a6282426f5cb5131ed44570e5ce827cdc710..24ef109dd2253285bfeba129b9381e4fdbbad971 100644 (file)
@@ -57,12 +57,8 @@ init (int argc, char **argv, char **envp)
      If the address would be taken inside the expression the optimizer
      would try to be too smart and throws it away.  Grrr.  */
 
-#ifndef SHARED
   /* XXX disable dl for now
-  int *dummy_addr = &_dl_starting_up;
-
-  __libc_multiple_libcs = dummy_addr && !_dl_starting_up; */
-#endif
+  __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up; */
 
   /* Save the command-line arguments.  */
   __libc_argc = argc;
index a2905f9392f8e788feeb7b9de01dd894cd2a5e83..65e275cfe1375cab94bea5eabc81fab55a87b5a0 100644 (file)
@@ -52,14 +52,7 @@ init (int argc, char **argv, char **envp)
   extern void __getopt_clean_environment (char **);
 #endif
 
-#ifndef SHARED
-  /* The next variable is only here to work around a bug in gcc <= 2.7.2.2.
-     If the address would be taken inside the expression the optimizer
-     would try to be too smart and throws it away.  Grrr.  */
-  int *dummy_addr = &_dl_starting_up;
-
-  __libc_multiple_libcs = dummy_addr && !_dl_starting_up;
-#endif
+  __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up;
 
   /* Make sure we don't initialize twice.  */
   if (!__libc_multiple_libcs)
This page took 0.044856 seconds and 5 git commands to generate.