about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--hurd/hurdstartup.c36
-rw-r--r--stdio/stdio.h4
3 files changed, 15 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 93bb1669af..ec313297eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 Wed Oct 25 14:23:35 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
+	* stdio/stdio.h (sys_errlist, _sys_errlist): Declare const.
+
 	* sysdeps/unix/sysv/linux/stat.c: New file.
 	* sysdeps/unix/sysv/linux/fstat.c: New file.
 	* sysdeps/unix/sysv/linux/lstat.c: New file.
diff --git a/hurd/hurdstartup.c b/hurd/hurdstartup.c
index 28ce40bbed..ca44737ce3 100644
--- a/hurd/hurdstartup.c
+++ b/hurd/hurdstartup.c
@@ -22,7 +22,7 @@ Cambridge, MA 02139, USA.  */
 #include <stdio.h>
 #include <string.h>
 #include <hurd.h>
-#include <hurd/exec.h>
+#include <hurd/exec_startup.h>
 #include <sysdep.h>
 #include <hurd/threadvar.h>
 #include <unistd.h>
@@ -90,12 +90,16 @@ _hurd_startup (void **argptr, void (*main) (int *data))
       argslen = envlen = 0;
       data.dtablesize = data.portarraysize = data.intarraysize = 0;
 
-      err = __exec_startup (in_bootstrap,
-			    &data.stack_base, &data.stack_size,
-			    &data.flags, &args, &argslen, &env, &envlen,
-			    &data.dtable, &data.dtablesize,
-			    &data.portarray, &data.portarraysize,
-			    &data.intarray, &data.intarraysize);
+      err = __exec_startup_get_info (in_bootstrap,
+				     &data.user_entry,
+				     &data.phdr, &data.phdrsz,
+				     &data.stack_base, &data.stack_size,
+				     &data.flags,
+				     &args, &argslen,
+				     &env, &envlen,
+				     &data.dtable, &data.dtablesize,
+				     &data.portarray, &data.portarraysize,
+				     &data.intarray, &data.intarraysize);
       __mach_port_deallocate (__mach_task_self (), in_bootstrap);
     }
 
@@ -184,24 +188,6 @@ _hurd_startup (void **argptr, void (*main) (int *data))
 	*d = data;
 	_hurd_init_dtable = d->dtable;
 	_hurd_init_dtablesize = d->dtablesize;
-
-    /* XXX hardcoded kludge until exec_startup changes */
-	{
-	  extern void _start();
-	  vm_address_t page = 0;
-	  vm_size_t size = 0;
-	  if (__vm_read (__mach_task_self (),
-			 0x08000000, __vm_page_size, &page, &size) == 0)
-	    {
-	      const Elf32_Ehdr *ehdr = (const void *) 0x08000000;
-	      d->phdr = 0x08000000 + ehdr->e_phoff;
-	      d->phdrsz = ehdr->e_phnum * ehdr->e_phentsize;
-	      d->user_entry = ehdr->e_entry;
-	      __vm_deallocate (__mach_task_self (), page, size);
-	    }
-	  else
-	    d->user_entry = (Elf32_Addr) &_start;
-	}
       }
 
     (*main) (argcptr);
diff --git a/stdio/stdio.h b/stdio/stdio.h
index 347e1868a9..349b9c3e5c 100644
--- a/stdio/stdio.h
+++ b/stdio/stdio.h
@@ -631,11 +631,11 @@ extern void perror __P ((__const char *__s));
 
 #ifdef	__USE_BSD
 extern int sys_nerr;
-extern char *sys_errlist[];
+extern const char *const sys_errlist[];
 #endif
 #ifdef	__USE_GNU
 extern int _sys_nerr;
-extern char *_sys_errlist[];
+extern const char *const _sys_errlist[];
 #endif