9aea164457
There are number of changes in the way IFUNC related relocations are done: 1. IRELATIVE relocations are now supported for x86/x86_64 and arm64. 2. IFUNC relocations are now relying on static linker to generate them in correct order - this removes necessety of additional relocation pass for ifuncs. 3. Related to 2: rela?.dyn relocations are preformed before .plt ones. 4. Ifunc are resolved on symbol lookup this approach allowed to avoid mprotect(PROT_WRITE) call on r-x program segments. Bug: 17399706 Bug: 17177284 Change-Id: I414dd3e82bd47cc03442c5dfc7c279949aec51ed |
||
---|---|---|
.. | ||
arch | ||
tests | ||
Android.mk | ||
debugger.cpp | ||
dlfcn.cpp | ||
linked_list.h | ||
linker.cpp | ||
linker.h | ||
linker_allocator.cpp | ||
linker_allocator.h | ||
linker_debug.h | ||
linker_environ.cpp | ||
linker_environ.h | ||
linker_libc_support.c | ||
linker_phdr.cpp | ||
linker_phdr.h | ||
MODULE_LICENSE_APACHE2 | ||
NOTICE | ||
rt.cpp |