Fix boot with statically-linked exec server.
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Mon, 16 Jan 2017 17:43:37 +0000 (17:43 +0000)
committerAurelien Jarno <aurel32@debian.org>
Mon, 16 Jan 2017 17:43:37 +0000 (17:43 +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 25825f476bcbdfae11e7e2329d4f3f6381d39ed8..621e510ca6d062025534cc89f4678110be333909 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