glibc/sysdeps/mach/hurd/i386
Florian Weimer 035c012e32 Reduce the statically linked startup code [BZ #23323]
It turns out the startup code in csu/elf-init.c has a perfect pair of
ROP gadgets (see Marco-Gisbert and Ripoll-Ripoll, "return-to-csu: A
New Method to Bypass 64-bit Linux ASLR").  These functions are not
needed in dynamically-linked binaries because DT_INIT/DT_INIT_ARRAY
are already processed by the dynamic linker.  However, the dynamic
linker skipped the main program for some reason.  For maximum
backwards compatibility, this is not changed, and instead, the main
map is consulted from __libc_start_main if the init function argument
is a NULL pointer.

For statically linked binaries, the old approach based on linker
symbols is still used because there is nothing else available.

A new symbol version __libc_start_main@@GLIBC_2.34 is introduced because
new binaries running on an old libc would not run their ELF
constructors, leading to difficult-to-debug issues.
2021-02-25 12:13:02 +01:00
..
bits Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
htl Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
i686/multiarch Hurd: Add rtld-strncpy-c.c 2021-01-19 04:32:44 -08:00
sys Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
__longjmp.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
c++-types.data hurd: Add c++-types expected result 2016-03-20 22:16:34 +01:00
dl-machine.h
exc2signal.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getcontext.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Implies hurd: Add hurd thread library 2018-04-02 01:44:14 +02:00
init-first.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
intr-msg.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioperm.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
jmp_buf-macros.h hurd: Add jmp_buf-macros.h 2018-01-06 02:32:55 +01:00
ld.abilist <sys/platform/x86.h>: Remove the C preprocessor magic 2021-01-21 05:58:17 -08:00
libanl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libBrokenLocale.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libc.abilist Reduce the statically linked startup code [BZ #23323] 2021-02-25 12:13:02 +01:00
libcrypt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libdl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libm.abilist New exp10f version without SVID compat wrapper 2020-06-19 12:08:47 -03:00
libnsl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libpthread.abilist htl: Initialize later 2020-11-11 20:41:25 +00:00
libresolv.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
librt.abilist Finish move of clock_* functions to libc. [BZ #24959] 2019-09-04 14:39:38 +02:00
libutil.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
localplt.data hurd: Move {,f,l}xstat{,at} and xmknod{at} to compat symbols 2020-11-11 23:56:56 +00:00
longjmp-ts.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
makecontext.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makefile htl: Get sem_open/sem_close/sem_unlink support [BZ #25524] 2020-12-16 14:27:25 +01:00
setcontext.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signal-defines.sym Fix struct sigaltstack namespace (bug 21517). 2017-06-05 10:17:46 +00:00
sigreturn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
static-start.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
swapcontext.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tls.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tlsdesc.sym hurd: Add tlsdesc.sym 2018-01-30 00:52:48 +01:00
trampoline.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ucontext_i.sym hurd: Add getcontext, makecontext, setcontext, swapcontext 2019-12-29 16:54:08 +01:00
Versions
vm_param.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00