about summary refs log tree commit diff
path: root/sysdeps/mach
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-30 01:51:11 +0000
committerRoland McGrath <roland@gnu.org>2002-08-30 01:51:11 +0000
commitcc13edc8d4351bb96bb2e0d785284ec089705cfa (patch)
tree189d5223b8c3cfc8ded13ee906a3515d8d2406d0 /sysdeps/mach
parent7a9ce79a3b0746e0db7d3cc4264a78a9d79620a3 (diff)
downloadglibc-cc13edc8d4351bb96bb2e0d785284ec089705cfa.tar.gz
glibc-cc13edc8d4351bb96bb2e0d785284ec089705cfa.tar.xz
glibc-cc13edc8d4351bb96bb2e0d785284ec089705cfa.zip
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup: doinit):
	Change argument type from int to intptr_t.

	* locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the
	initializer on [! _HURD_THREADVAR_H] (bad kludge).
	* sysdeps/mach/hurd/i386/init-first.c (init): Initialize
	_HURD_THREADVAR_LOCALE slot to &_nl_global_locale.
	* hurd/hurdsig.c (_hurdsig_init): Likewise.  Zero other slots.
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index 787a750045..47edae5086 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -26,6 +26,7 @@
 #include <set-hooks.h>
 #include "hurdstartup.h"
 #include "hurdmalloc.h"		/* XXX */
+#include "../locale/localeinfo.h"
 
 extern void __mach_init (void);
 extern void __libc_init (int, char **, char **);
@@ -145,6 +146,7 @@ init (int *data)
      for malloc et al, or so we can use malloc below for the real
      threadvars array.  */
   memset (threadvars, 0, sizeof threadvars);
+  threadvars[_HURD_THREADVAR_LOCALE] = (unsigned long int) &_nl_global_locale;
   __hurd_threadvar_stack_offset = (unsigned long int) threadvars;
 
   /* Since the cthreads initialization code uses malloc, and the
@@ -319,7 +321,7 @@ strong_alias (posixland_init, __libc_init_first);
 void
 _hurd_stack_setup (volatile int argc, ...)
 {
-  void doinit (int *data)
+  void doinit (intptr_t *data)
     {
       /* This function gets called with the argument data at TOS.  */
       void doinit1 (volatile int argc, ...)