From 444a5a852d119fce765bb5245901f02a77f12a44 Mon Sep 17 00:00:00 2001 From: drepper Date: Sun, 21 Sep 1997 01:23:53 +0000 Subject: [PATCH] Call __getopt_clean_environment with additional argument. --- sysdeps/i386/init-first.c | 8 ++++---- sysdeps/mach/hurd/i386/init-first.c | 20 ++++++++++---------- sysdeps/mach/hurd/mips/init-first.c | 10 +++++----- sysdeps/stub/init-first.c | 4 ++-- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/sysdeps/i386/init-first.c b/sysdeps/i386/init-first.c index 47dd299e18..118f84201f 100644 --- a/sysdeps/i386/init-first.c +++ b/sysdeps/i386/init-first.c @@ -1,6 +1,6 @@ /* Initialization code run first thing by the ELF startup code. For i386/Unix. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. + Copyright (C) 1995, 1996, 1997 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 modify it under the terms of the GNU Library General Public License as @@ -20,7 +20,7 @@ #include extern void __libc_init (int, char **, char **); -extern void __getopt_clean_environment (void); +extern void __getopt_clean_environment (char **); extern void __libc_global_ctors (void); int __libc_multiple_libcs = 1; @@ -36,7 +36,7 @@ init (int *data) __libc_init (argc, argv, envp); /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (); + __getopt_clean_environment (envp); } #ifdef PIC diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index 4c4f6ff665..10094f0967 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -27,7 +27,7 @@ extern void __mach_init (void); extern void __libc_init (int, char **, char **); -extern void __getopt_clean_environment (void); +extern void __getopt_clean_environment (char **); extern void __libc_global_ctors (void); unsigned int __hurd_threadvar_max; @@ -109,7 +109,7 @@ init1 (int argc, char *arg0, ...) __libc_init (argc, argv, __environ); /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (); + __getopt_clean_environment (envp); #ifdef PIC __libc_global_ctors (); @@ -170,7 +170,7 @@ init (int *data) /* Force NEWSP into %ecx and &init1 into %eax, which are not restored by function return. */ asm volatile ("# a %0 c %1" : : "a" (newsp), "c" (&init1)); - } + } else { /* The argument data is just above the stack frame we will unwind by @@ -202,7 +202,7 @@ init (int *data) init1's return address, and then jump there. */ asm volatile ("pushl %eax; jmp *%ecx"); /* NOTREACHED */ -} +} #ifdef PIC @@ -223,7 +223,7 @@ _init (int argc, ...) __mach_init (); RUN_HOOK (_hurd_preinit_hook, ()); - + init (&argc); } #endif @@ -256,7 +256,7 @@ __libc_init_first (int argc __attribute__ ((unused)), ...) __mach_init (); RUN_HOOK (_hurd_preinit_hook, ()); - + _hurd_startup ((void **) &argc, &doinit); #endif } @@ -267,8 +267,8 @@ __libc_init_first (int argc __attribute__ ((unused)), ...) in ld.so causes disaster, because the _init definition above will cause ld.so to gain an init function, which is not a cool thing. */ -void -_dl_start (void) -{ - abort (); +void +_dl_start (void) +{ + abort (); } diff --git a/sysdeps/mach/hurd/mips/init-first.c b/sysdeps/mach/hurd/mips/init-first.c index b057aeb097..a411a1b0e9 100644 --- a/sysdeps/mach/hurd/mips/init-first.c +++ b/sysdeps/mach/hurd/mips/init-first.c @@ -27,7 +27,7 @@ extern void __mach_init (void); extern void __libc_init (int, char **, char **); -extern void __getopt_clean_environment (void); +extern void __getopt_clean_environment (char **); extern void __libc_global_ctors (void); unsigned int __hurd_threadvar_max; @@ -110,7 +110,7 @@ init1 (int argc, char *arg0, ...) __libc_init (argc, argv, __environ); /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (); + __getopt_clean_environment (envp); #ifdef PIC __libc_global_ctors (); @@ -169,14 +169,14 @@ __init (int *data) be the return address for `init1'; we will jump there with NEWSP as the stack pointer. */ return newsp; - } + } /* The argument data is just above the stack frame we will unwind by returning. */ return (void *) data; (void) &__init; -} +} #ifdef PIC /* This function is called to initialize the shared C library. @@ -399,7 +399,7 @@ ___libc_init_first (int return_addr, int argc, ...) #endif RUN_HOOK (_hurd_preinit_hook, ()); - + _hurd_startup ((void **) &argc, &doinit); (void) &___libc_init_first; diff --git a/sysdeps/stub/init-first.c b/sysdeps/stub/init-first.c index 4fcc67ddbe..dacefdcb63 100644 --- a/sysdeps/stub/init-first.c +++ b/sysdeps/stub/init-first.c @@ -23,7 +23,7 @@ int __libc_multiple_libcs = 1; extern void __libc_init (int, char **, char **); -extern void __getopt_clean_environment (void); +extern void __getopt_clean_environment (char **); pid_t __libc_pid; @@ -51,5 +51,5 @@ void __libc_init_first __libc_init (argc, argv, envp); /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (); + __getopt_clean_environment (envp); } -- 2.11.0