platform_bionic/linker
Dmitriy Ivanov 9aea164457 Add IFUNC support for arm64 and IRELATIVE reloc
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
2014-09-11 16:30:45 -07:00
..
arch Fix mips/mips64 build 2014-07-28 21:03:17 -07:00
tests Load libraries in breadth-first order 2014-09-08 13:02:50 -07:00
Android.mk Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker. 2014-09-05 16:16:35 -07:00
debugger.cpp Replace NULL with nullptr 2014-08-29 14:13:48 -07:00
dlfcn.cpp Add IFUNC support for arm64 and IRELATIVE reloc 2014-09-11 16:30:45 -07:00
linked_list.h Load libraries in breadth-first order 2014-09-08 13:02:50 -07:00
linker.cpp Add IFUNC support for arm64 and IRELATIVE reloc 2014-09-11 16:30:45 -07:00
linker.h Add IFUNC support for arm64 and IRELATIVE reloc 2014-09-11 16:30:45 -07:00
linker_allocator.cpp Label pages mapped by linker_allocator 2014-08-11 09:22:48 -07:00
linker_allocator.h Fix global variable initialization for linker 2014-07-24 15:33:25 -07:00
linker_debug.h Added test for ifunc support in dynamic linker. 2014-08-08 11:29:35 -07:00
linker_environ.cpp Replace NULL with nullptr 2014-08-29 14:13:48 -07:00
linker_environ.h Replace NULL with nullptr 2014-08-29 14:13:48 -07:00
linker_libc_support.c Enable __cxa_atexit && __cxa_finalize for linker 2014-08-26 15:44:18 -07:00
linker_phdr.cpp Load libraries in breadth-first order 2014-09-08 13:02:50 -07:00
linker_phdr.h Load libraries in breadth-first order 2014-09-08 13:02:50 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
NOTICE Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files. 2014-07-22 21:29:00 -07:00
rt.cpp More dynamic linker cleanup. 2012-10-30 16:35:38 -07:00