Fix boot with statically-linked exec server.
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Thu, 29 Mar 2018 19:47:29 +0000 (20:47 +0100)
committerAurelien Jarno <aurel32@debian.org>
Thu, 29 Mar 2018 19:47:29 +0000 (20:47 +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).

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-exec-static.diff

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

index e2aeb441322c35dc9c94256c859e0be031b30871..c2ddaa453e43578fe534572d699c1a8b8866ac54 100644 (file)
@@ -165,7 +165,7 @@ init (int *data)
   /* 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)
     {
       /* With a new enough linker (binutils-2.23 or better),
          the magic __ehdr_start symbol will be available and