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 |
||
---|---|---|
.. | ||
Android.mk | ||
atexit_testlib.cpp | ||
dlext_test_library.cpp | ||
dlopen_testlib_answer.cpp | ||
dlopen_testlib_ifunc.c | ||
dlopen_testlib_relo_check_dt_needed_order.cpp | ||
dlopen_testlib_relo_check_dt_needed_order_1.cpp | ||
dlopen_testlib_relo_check_dt_needed_order_2.cpp | ||
dlopen_testlib_simple.cpp | ||
dlsym_weak_function.cpp | ||
empty.cpp |