* sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ before calling the cthreads initialization code.
2001-08-18 Mark Kettenis <kettenis@gnu.org> * sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ before calling the cthreads initialization code.
This commit is contained in:
parent
29f0517d46
commit
16195d2026
@ -1,3 +1,8 @@
|
||||
2001-08-18 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ
|
||||
before calling the cthreads initialization code.
|
||||
|
||||
2001-08-20 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* argp/argp-help.c: Fix two problems introduced in last change.
|
||||
|
@ -132,12 +132,20 @@ init (int *data)
|
||||
struct hurd_startup_data *d;
|
||||
unsigned long int threadvars[_HURD_THREADVAR_MAX];
|
||||
|
||||
/* Provide temporary storage for thread-specific variables on the startup
|
||||
stack so the cthreads initialization code can use them for malloc et al,
|
||||
or so we can use malloc below for the real threadvars array. */
|
||||
/* Provide temporary storage for thread-specific variables on the
|
||||
startup stack so the cthreads initialization code can use them
|
||||
for malloc et al, or so we can use malloc below for the real
|
||||
threadvars array. */
|
||||
memset (threadvars, 0, sizeof threadvars);
|
||||
__hurd_threadvar_stack_offset = (unsigned long int) threadvars;
|
||||
|
||||
/* Since the cthreads initialization code uses malloc, and the
|
||||
malloc initialization code needs to get at the environment, make
|
||||
sure we can find it. We'll need to do this again later on since
|
||||
switching stacks changes the location where the environment is
|
||||
stored. */
|
||||
__environ = envp;
|
||||
|
||||
while (*envp)
|
||||
++envp;
|
||||
d = (void *) ++envp;
|
||||
|
Loading…
x
Reference in New Issue
Block a user