summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/init-first.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-10-25 19:41:31 +0000
committerRoland McGrath <roland@gnu.org>2002-10-25 19:41:31 +0000
commit5580f1544d434997f1ddfbb4785a7a447f75e605 (patch)
treec9b69703fc3b6c2f88347ed33ce727a9a130a917 /sysdeps/unix/sysv/linux/init-first.c
parentc61ce8de6245e1e2a27f3b574c8ca047a009ec2e (diff)
* 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>
Diffstat (limited to 'sysdeps/unix/sysv/linux/init-first.c')
-rw-r--r--sysdeps/unix/sysv/linux/init-first.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c
index a2905f9392..65e275cfe1 100644
--- a/sysdeps/unix/sysv/linux/init-first.c
+++ b/sysdeps/unix/sysv/linux/init-first.c
@@ -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)