aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-12-28 10:15:52 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-12-28 10:15:52 +0100
commit2ce0481d26066b7d4e2c950da555a7ca20e313fb (patch)
tree107a3a13e10f667b0a6a87afd8496ff8b451bf27 /sysdeps/mach/hurd
parent7b358de1af5473217fa1cee3838997add91c8311 (diff)
downloadglibc-2ce0481d26066b7d4e2c950da555a7ca20e313fb.tar
glibc-2ce0481d26066b7d4e2c950da555a7ca20e313fb.tar.gz
glibc-2ce0481d26066b7d4e2c950da555a7ca20e313fb.tar.bz2
glibc-2ce0481d26066b7d4e2c950da555a7ca20e313fb.zip
hurd: let csu initialize tls
Since 9cec82de715b ("htl: Initialize later"), we let csu initialize pthreads. We can thus let it initialize tls later too, to better align with the generic order. Initialization however accesses ports which links/unlinks into the sigstate for unwinding. We can however easily skip that during initialization.
Diffstat (limited to 'sysdeps/mach/hurd')
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c3
-rw-r--r--sysdeps/mach/hurd/libc-start.h31
2 files changed, 0 insertions, 34 deletions
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index a430aae085..5e85aa2bc5 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -184,9 +184,6 @@ init (int *data)
_dl_phnum = d->phdrsz / sizeof (ElfW(Phdr));
assert (d->phdrsz % sizeof (ElfW(Phdr)) == 0);
}
-
- /* We need to setup TLS before initializing libpthread. */
- __libc_setup_tls ();
#endif
/* Call `init1' (above) with the user code as the return address, and the
diff --git a/sysdeps/mach/hurd/libc-start.h b/sysdeps/mach/hurd/libc-start.h
deleted file mode 100644
index 32cf99e16c..0000000000
--- a/sysdeps/mach/hurd/libc-start.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Hurd definitions for libc main startup.
- Copyright (C) 2017-2021 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
-#ifndef _LIBC_START_H
-#define _LIBC_START_H
-
-#ifndef SHARED
-/* By default we perform STT_GNU_IFUNC resolution *before* TLS
- initialization, and this means you cannot, without machine
- knowledge, access TLS from an IFUNC resolver. */
-#define ARCH_SETUP_IREL() apply_irel ()
-#define ARCH_SETUP_TLS()
-#define ARCH_APPLY_IREL()
-#endif /* ! SHARED */
-
-#endif /* _LIBC_START_H */