This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[hurd,commited 3/5] hurd: Fix boot with statically-linked exec server
- From: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- To: libc-alpha at sourceware dot org
- Cc: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- Date: Sun, 18 Mar 2018 20:44:49 +0100
- Subject: [hurd,commited 3/5] hurd: Fix boot with statically-linked exec server
- References: <20180318194451.11862-1-samuel.thibault@ens-lyon.org>
* 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 | 2 ++
sysdeps/mach/hurd/i386/init-first.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index a02f9017de..e090c75b74 100644
--- 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>
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index f4a4df33de..226de02a99 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -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),
--
2.16.2