From ed479b02c2b04291d07708baf50bc6d2929f8b94 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 24 Jun 2007 17:45:35 +0200 Subject: [PATCH] Hurd: Use __executable_start symbol instead of _start. _start points to the first instruction, not to the ELF header. __executable_start does point on the ELF header. --- ChangeLog | 5 +++++ sysdeps/mach/hurd/i386/init-first.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f396dbd..3ea2643 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-08-29 Samuel Thibault + + * sysdeps/mach/hurd/i386/init-first.c (init1): Use + __executable_start symbol instead of _start. + 2013-08-29 Thomas Schwinge * sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_HEADER) diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index 70378d8..8fb613b 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -122,8 +122,8 @@ init1 (int argc, char *arg0, ...) /* We may need to see our own phdrs, e.g. for TLS setup. Try the usual kludge to find the headers without help from the exec server. */ - extern const void _start; - const ElfW(Ehdr) *const ehdr = &_start; + extern const void __executable_start; + const ElfW(Ehdr) *const ehdr = &__executable_start; _dl_phdr = (const void *) ehdr + ehdr->e_phoff; _dl_phnum = ehdr->e_phnum; assert (ehdr->e_phentsize == sizeof (ElfW(Phdr))); -- 2.7.4