/* 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
#include <unistd.h>
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;
__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
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;
__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 ();
/* 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
init1's return address, and then jump there. */
asm volatile ("pushl %eax; jmp *%ecx");
/* NOTREACHED */
-}
+}
#ifdef PIC
__mach_init ();
RUN_HOOK (_hurd_preinit_hook, ());
-
+
init (&argc);
}
#endif
__mach_init ();
RUN_HOOK (_hurd_preinit_hook, ());
-
+
_hurd_startup ((void **) &argc, &doinit);
#endif
}
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 ();
}
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;
__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 ();
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.
#endif
RUN_HOOK (_hurd_preinit_hook, ());
-
+
_hurd_startup ((void **) &argc, &doinit);
(void) &___libc_init_first;
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;
__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);
}