diff options
author | Roland McGrath <roland@gnu.org> | 2002-11-22 04:23:05 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-11-22 04:23:05 +0000 |
commit | 54789f38162e12edd8bc2553ae7b72b558262f07 (patch) | |
tree | 9a2c4fb9bc89ee0ab3822354599994aaee01da6f | |
parent | 1c120cb8e7eddf810ae3e997eebd689506c98307 (diff) | |
download | glibc-54789f38162e12edd8bc2553ae7b72b558262f07.zip glibc-54789f38162e12edd8bc2553ae7b72b558262f07.tar.gz glibc-54789f38162e12edd8bc2553ae7b72b558262f07.tar.bz2 |
* 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.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | locale/localeinfo.h | 6 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/init-first.c | 10 |
3 files changed, 18 insertions, 5 deletions
@@ -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>. diff --git a/locale/localeinfo.h b/locale/localeinfo.h index a9fa1f4..5510e6f 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h @@ -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'. */ }; diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index b3804cb..af79d87 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -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; |