glibc/sysdeps/unix/sysv/linux/mips
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
..
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mips32 Linux: Add tables with system call numbers 2020-01-02 10:18:10 +01:00
mips64 Linux: Add tables with system call numbers 2020-01-02 10:18:10 +01:00
sys Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
____longjmp_chk.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_test_and_set.c 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
clone.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
configure mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels 2019-08-23 16:38:04 +00:00
configure.ac mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels 2019-08-23 16:38:04 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-static.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getcontext.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getrlimit64.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getsysstats.c 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
kernel_rt_sigframe.h Rename struct ucontext tag (bug 21457). 2017-06-26 22:03:58 +00:00
kernel_sigaction.h linux: Consolidate sigaction implementation 2018-04-05 17:09:50 -03:00
kernel_stat.h Allow [f]statfs64 to alias [f]statfs 2016-11-22 09:59:12 -08:00
kernel_termios.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
kernel-features.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-abis MIPS support for GNU hash 2019-08-29 20:11:42 +00:00
makecontext.S 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
mmap_info.h posix: Fix large mmap64 offset for mips64n32 (BZ#24699) 2019-07-10 16:52:50 -03:00
pipe.S Move mips from ports to libc. 2014-02-10 23:30:21 +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
setrlimit64.c 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
sigcontextinfo.h 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
syscalls.list Consolidate Linux send implementation 2017-03-09 15:22:06 +01:00
sysdep.h linux: Update mips vDSO symbols 2020-01-03 10:02:05 -03:00
ucontext_i.sym Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
ustat.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Versions VDSO support for MIPS 2016-04-12 11:05:13 +01:00
vfork.S Linux: Use system call tables during build 2020-01-02 10:18:23 +01:00
xstatconv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00