glibc/sysdeps/unix/sysv/linux/arm
Adhemerval Zanella 1bdda52fe9 elf: Move vDSO setup to rtld (BZ#24967)
This patch moves the vDSO setup from libc to loader code, just after
the vDSO link_map setup.  For static case the initialization
is moved to _dl_non_dynamic_init instead.

Instead of using the mangled pointer, the vDSO data is set as
attribute_relro (on _rtld_global_ro for shared or _dl_vdso_* for
static).  It is read-only even with partial relro.

It fixes BZ#24967 now that the vDSO pointer is setup earlier than
malloc interposition is called.

Also, vDSO calls should not be a problem for static dlopen as
indicated by BZ#20802.  The vDSO pointer would be zero-initialized
and the syscall will be issued instead.

Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu,
arm-linux-gnueabihf, powerpc64le-linux-gnu, powerpc64-linux-gnu,
powerpc-linux-gnu, s390x-linux-gnu, sparc64-linux-gnu, and
sparcv9-linux-gnu.  I also run some tests on mips.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2020-01-03 11:22:07 -03:00
..
be nptl: Move waitpid implementation to libc 2019-12-19 16:11:09 -03:00
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
le nptl: Move waitpid implementation to libc 2019-12-19 16:11:09 -03:00
sys Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_read_tp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
arch-syscall.h Linux: Add tables with system call numbers 2020-01-02 10:18:10 +01:00
arm-features.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
c++-types.data Verbatim NPTL file moves for ARM/Linux. 2014-05-13 10:04:20 -07:00
clone.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-machine.h Linux: Use system call tables during build 2020-01-02 10:18:23 +01:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fixup-asm-unistd.h Linux: Add tables with system call numbers 2020-01-02 10:18:10 +01:00
fxstat.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
fxstatat.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
getcontext.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
ioperm.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
jmp_buf-macros.h Add jmp_buf-macros.h 2017-11-09 05:10:03 -08:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libc-do-syscall.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
localplt.data ld.so: Introduce struct dl_exception 2017-08-10 16:54:57 +02:00
lxstat.c Fix whitespace in ARM files to allow move. 2014-02-08 01:52:38 +00:00
makecontext.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Makefile elf: Move vDSO setup to rtld (BZ#24967) 2020-01-03 11:22:07 -03:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
readelflib.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
setcontext.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
shlib-versions Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
sigaction.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sigrestorer.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
swapcontext.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
syscalls.list Consolidate Linux send implementation 2017-03-09 15:22:06 +01:00
sysdep.h Linux: Use system call tables during build 2020-01-02 10:18:23 +01:00
sysdep.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tls.h Linux: Use system call tables during build 2020-01-02 10:18:23 +01:00
ucontext_i.sym Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
Versions network: recvmsg and sendmsg standard compliance (BZ#16919) 2016-05-25 17:39:01 -03:00
vfork.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
xstat.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00