hurd: Fix boot with statically-linked exec server

* 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).
This commit is contained in:
Samuel Thibault 2018-03-18 19:52:39 +01:00
parent 72103e73c9
commit aa2189295e
2 changed files with 3 additions and 1 deletions

View File

@ -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>

View 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),