From 79a479ce697f3e01f6b705a6478403b437086925 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 13 Jun 2002 08:56:05 +0000 Subject: 2002-06-13 Roland McGrath * hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type. * hurd/hurdstartup.c (_hurd_startup): Likewise. Use intptr_t instead of int for argc in stack layout. * sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type. (_dl_init_first): Likewise. (_hurd_stack_setup): Likewise. (init1): Add a cast. --- hurd/hurdstartup.c | 12 ++++++------ hurd/hurdstartup.h | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'hurd') diff --git a/hurd/hurdstartup.c b/hurd/hurdstartup.c index 090423a..0c607ba 100644 --- a/hurd/hurdstartup.c +++ b/hurd/hurdstartup.c @@ -1,5 +1,5 @@ /* Initial program startup for running under the GNU Hurd. - Copyright (C) 1991,92,93,94,95,96,97,98 Free Software Foundation, Inc. + Copyright (C) 1991,92,93,94,95,96,97,98,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ extern void __mach_init (void); void -_hurd_startup (void **argptr, void (*main) (int *data)) +_hurd_startup (void **argptr, void (*main) (intptr_t *data)) { error_t err; mach_port_t in_bootstrap; @@ -64,7 +64,7 @@ _hurd_startup (void **argptr, void (*main) (int *data)) struct hurd_startup_data data; char **argv, **envp; int argc, envc; - int *argcptr; + intptr_t *argcptr; vm_address_t addr; /* Attempt to map page zero redzoned before we receive any RPC @@ -107,7 +107,7 @@ _hurd_startup (void **argptr, void (*main) (int *data)) Hopefully either they will be on the stack as expected, or the stack will be zeros so we don't crash. */ - argcptr = (int *) argptr; + argcptr = (intptr_t *) argptr; argc = argcptr[0]; argv = (char **) &argcptr[1]; envp = &argv[argc + 1]; @@ -129,7 +129,7 @@ _hurd_startup (void **argptr, void (*main) (int *data)) pointers and fill them in. We allocate the space for the environment pointers immediately after the argv pointers because the ELF ABI will expect it. */ - argcptr = __alloca (sizeof (int) + + argcptr = __alloca (sizeof (intptr_t) + (argc + 1 + envc + 1) * sizeof (char *) + sizeof (struct hurd_startup_data)); *argcptr = argc; @@ -163,7 +163,7 @@ _hurd_startup (void **argptr, void (*main) (int *data)) hurd_startup_data'. Move them. */ struct { - int count; + intptr_t count; char *argv[argc + 1]; char *envp[envc + 1]; struct hurd_startup_data data; diff --git a/hurd/hurdstartup.h b/hurd/hurdstartup.h index 5d40c90..e527668 100644 --- a/hurd/hurdstartup.h +++ b/hurd/hurdstartup.h @@ -1,5 +1,5 @@ /* Data from initial program startup for running under the GNU Hurd. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. + Copyright (C) 1995,97,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,6 +20,7 @@ #ifndef _HURDSTARTUP_H #define _HURDSTARTUP_H 1 +# include /* Interesting data saved from the exec_startup reply. The DATA argument to *MAIN (see below) points to: @@ -57,7 +58,7 @@ struct hurd_startup_data of the entry point function that is called with the stack exactly as the exec server or kernel sets it. */ -extern void _hurd_startup (void **argptr, void (*main) (int *data)); +extern void _hurd_startup (void **argptr, void (*main) (intptr_t *data)); #endif /* hurdstartup.h */ -- cgit v1.1