]> sourceware.org Git - glibc.git/commitdiff
hurd: Fix boot with statically-linked exec server
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 18 Mar 2018 18:52:39 +0000 (19:52 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sun, 18 Mar 2018 19:38:26 +0000 (20:38 +0100)
* sysdeps/mach/hurd/i386/init-first.c (init): Also find ELF headers by
oneself when the pointer given in D is nul (as set by ext2fs).

ChangeLog
sysdeps/mach/hurd/i386/init-first.c

index a02f9017deb6936957fc9cb3d9976988957e97c7..e090c75b74fafb11dac20a1831cb9e980f871ddd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -68,6 +68,8 @@
        path when flags contains O_NOFOLLOW.
        * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ENOTDIR
        if flags contains O_DIRECTORY and the result is a directory.
+       * sysdeps/mach/hurd/i386/init-first.c (init): Also find ELF headers by
+       oneself when the pointer given in D is nul (as set by ext2fs).
 
 2018-03-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
index f4a4df33de3f476272223f5f53e13e699e61f46c..226de02a99e08f14aa872e17a2a98672de3545df 100644 (file)
@@ -107,7 +107,7 @@ init1 (int argc, char *arg0, ...)
   /* If we are the bootstrap task started by the kernel,
      then after the environment pointers there is no Hurd
      data block; the argument strings start there.  */
-  if ((void *) d == argv[0])
+  if ((void *) d == argv[0] || d->phdr == NULL)
     {
 #ifndef SHARED
       /* With a new enough linker (binutils-2.23 or better),
This page took 0.080707 seconds and 5 git commands to generate.