Fix boot with statically-linked exec server.
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 17 Sep 2016 18:00:44 +0000 (18:00 +0000)
committerAurelien Jarno <aurel32@debian.org>
Sat, 17 Sep 2016 18:00:44 +0000 (18:00 +0000)
* 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 tg-exec-static.diff

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

index 603719917836cc57d756421f3ebcbebac6ad22bf..abc3bece14ee3e91ebc0bbd6bd7778f64e165da3 100644 (file)
@@ -173,7 +173,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