freebsd-dev/libexec/rtld-elf
Mateusz Guzik 0573d0a9b8 vfs: add realpathat syscall
realpath(3) is used a lot e.g., by clang and is a major source of getcwd
and fstatat calls. This can be done more efficiently in the kernel.

This works by performing a regular lookup while saving the name and found
parent directory. If the terminal vnode is a directory we can resolve it using
usual means. Otherwise we can use the name saved by lookup and resolve the
parent.

See the review for sample syscall counts.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D23574
2020-02-20 16:58:19 +00:00
..
aarch64 Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
amd64 Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
arm Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
i386 r357895: fix typo in the relocation name for i386 IRELATIVE. 2020-02-14 12:59:27 +00:00
mips Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
powerpc Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
powerpc64 Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
riscv Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
rtld-libc vfs: add realpathat syscall 2020-02-20 16:58:19 +00:00
sparc64 Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
tests
debug.c
debug.h
libmap.c
libmap.conf
libmap.h
Makefile rtld: clean up Makefile. 2020-01-11 09:18:58 +00:00
Makefile.depend
map_object.c rtld: make checks for mmap(2) failures compliant with documentation. 2019-12-12 22:59:22 +00:00
paths.h
rtld_lock.c Use sigfastblock(2) in rtld. 2020-02-09 12:22:43 +00:00
rtld_lock.h
rtld_malloc.c Remove remnants of optimization for > pagesize allocations. 2019-09-02 08:03:29 +00:00
rtld_malloc.h
rtld_printf.c
rtld_printf.h
rtld_tls.h
rtld_utrace.h
rtld.1
rtld.c Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
rtld.h Handle non-plt IRELATIVE relocations, at least for x86. 2020-02-13 23:42:09 +00:00
Symbol.map
xmalloc.c