summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2013-03-13 16:50:37 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-03-13 16:50:37 +0100
commit1311c630bf91d3ecf90dbbda6609c114b27b0722 (patch)
tree2511b1c9e48de0ad4c3545bd50732abf3f4897bb
parente6ddbed4d64bdebdd794b8f6ed1133c0b929e277 (diff)
parentbb61478ab469866d4fad4495168738aeab16feb7 (diff)
Merge commit 'refs/top-bases/t/tls-threadvar' into t/tls-threadvar
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index 7ac8556dfb..fc4127dbb6 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -179,12 +179,12 @@ init (int *data)
++envp;
d = (void *) ++envp;
+#ifndef SHARED
/* 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])
{
-#ifndef SHARED
/* 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. */
@@ -193,18 +193,14 @@ init (int *data)
_dl_phdr = (ElfW(Phdr) *) ((const void *) ehdr + ehdr->e_phoff);
_dl_phnum = ehdr->e_phnum;
assert (ehdr->e_phentsize == sizeof (ElfW(Phdr)));
-#endif
}
else
{
-#ifndef SHARED
_dl_phdr = (ElfW(Phdr) *) d->phdr;
_dl_phnum = d->phdrsz / sizeof (ElfW(Phdr));
assert (d->phdrsz % sizeof (ElfW(Phdr)) == 0);
-#endif
}
-#ifndef SHARED
/* We need to setup TLS before starting sigthread */
extern void __pthread_initialize_minimal(void);
__pthread_initialize_minimal();