aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/init-first.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/init-first.c')
-rw-r--r--sysdeps/unix/sysv/linux/init-first.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c
index c80941cff1..3cfb08dbf9 100644
--- a/sysdeps/unix/sysv/linux/init-first.c
+++ b/sysdeps/unix/sysv/linux/init-first.c
@@ -57,7 +57,9 @@ char **__libc_argv;
static void
init (int argc, char **argv, char **envp)
{
+#ifdef USE_NONOPTION_FLAGS
extern void __getopt_clean_environment (char **);
+#endif
/* 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. */
@@ -92,8 +94,10 @@ init (int argc, char **argv, char **envp)
__libc_init (argc, argv, envp);
+#ifdef USE_NONOPTION_FLAGS
/* This is a hack to make the special getopt in GNU libc working. */
__getopt_clean_environment (envp);
+#endif
#ifdef SHARED
__libc_global_ctors ();