aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/libc-start.c7
-rw-r--r--sysdeps/unix/sysv/aix/init-first.c6
-rw-r--r--sysdeps/unix/sysv/linux/init-first.c9
3 files changed, 3 insertions, 19 deletions
diff --git a/sysdeps/generic/libc-start.c b/sysdeps/generic/libc-start.c
index 806ed789cc..ef02b1819f 100644
--- a/sysdeps/generic/libc-start.c
+++ b/sysdeps/generic/libc-start.c
@@ -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;
diff --git a/sysdeps/unix/sysv/aix/init-first.c b/sysdeps/unix/sysv/aix/init-first.c
index 8272a62824..24ef109dd2 100644
--- a/sysdeps/unix/sysv/aix/init-first.c
+++ b/sysdeps/unix/sysv/aix/init-first.c
@@ -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;
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)