* 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:
Roland McGrath 2002-11-22 04:23:05 +00:00
parent 1c120cb8e7
commit 54789f3816
3 changed files with 18 additions and 5 deletions

View File

@ -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>.

View File

@ -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'. */
};

View File

@ -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;