mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
* sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set
__libc_multiple_libcs here. Call __setfpucw. * locale/localeinfo.h (struct locale_data): Revert last change.
This commit is contained in:
parent
1c120cb8e7
commit
54789f3816
@ -1,5 +1,12 @@
|
||||
2002-11-21 Roland McGrath <roland@frob.com>
|
||||
|
||||
* sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set
|
||||
__libc_multiple_libcs here. Call __setfpucw.
|
||||
|
||||
2002-11-21 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* locale/localeinfo.h (struct locale_data): Revert last change.
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/syscalls.list (s_exit_group): Add it.
|
||||
From Ian Wienand <ianw@gelato.unsw.edu.au>.
|
||||
|
||||
|
@ -78,11 +78,7 @@ struct locale_data
|
||||
{
|
||||
const uint32_t *wstr;
|
||||
const char *string;
|
||||
/* The values we store here are always uint32_t in fact. But it's
|
||||
safer for the union to use a type that matches pointers so that
|
||||
casting one of the pointer values to uint32_t produces the right
|
||||
value for big-endian 64-bit platforms. */
|
||||
uintptr_t word;
|
||||
unsigned int word; /* Note endian issues vs 64-bit pointers. */
|
||||
}
|
||||
values __flexarr; /* Items, usually pointers into `filedata'. */
|
||||
};
|
||||
|
@ -65,6 +65,16 @@ DEFINE_HOOK (_hurd_preinit_hook, (void));
|
||||
static void
|
||||
posixland_init (int argc, char **argv, char **envp)
|
||||
{
|
||||
__libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up;
|
||||
|
||||
/* Make sure we don't initialize twice. */
|
||||
if (!__libc_multiple_libcs)
|
||||
{
|
||||
/* Set the FPU control word to the proper default value. */
|
||||
__setfpucw (__fpu_control);
|
||||
}
|
||||
|
||||
/* Save the command-line arguments. */
|
||||
__libc_argc = argc;
|
||||
__libc_argv = argv;
|
||||
__environ = envp;
|
||||
|
Loading…
Reference in New Issue
Block a user