diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2007-06-24 17:45:35 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-08-29 12:22:19 +0200 |
commit | ed479b02c2b04291d07708baf50bc6d2929f8b94 (patch) | |
tree | 1828d02a2c6af622dab9604132dab29698dba2db | |
parent | d821f07c9e9575b47df87cc38f26c31e09b3ce0d (diff) | |
download | glibc-ed479b02c2b04291d07708baf50bc6d2929f8b94.tar glibc-ed479b02c2b04291d07708baf50bc6d2929f8b94.tar.gz glibc-ed479b02c2b04291d07708baf50bc6d2929f8b94.tar.bz2 glibc-ed479b02c2b04291d07708baf50bc6d2929f8b94.zip |
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/init-first.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2013-08-29 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * sysdeps/mach/hurd/i386/init-first.c (init1): Use + __executable_start symbol instead of _start. + 2013-08-29 Thomas Schwinge <thomas@codesourcery.com> * 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 70378d806e..8fb613b550 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))); |