android_bionic/libc
Dan Willemsen 7ccc50d2e4 Use an embedded linker for host bionic
The linux kernel requires that the ELF interpreter (runtime linker)
that's referenced by PT_INTERP be either an absolute path, or a relative
path from the current working directory. We'd prefer a relative path
from the binary, similarly to how we handle looking up shared libraries,
but that's not supported.

Instead, extract the LOAD segments from the runtime linker ELF binary
and embed them into each host bionic binary, omitting the PT_INTERP
declaration. The kernel will treat it as a static binary, and we'll use
a special entry point (linker_wrapper) to fix up the arguments passed by
the kernel before jumping to the embedded linker. From the linker's
point of view, it looks like the kernel loaded the linker like normal.

Bug: 31559095
Test: Enable host bionic, build and run libdemangle_test
Change-Id: I1753401ef91eecbf0ae3376faca31eec1c53842b
2017-09-20 13:59:13 -07:00
..
arch-arm Add syncfs(2). 2017-08-24 16:31:49 -07:00
arch-arm64 Add syncfs(2). 2017-08-24 16:31:49 -07:00
arch-common/bionic
arch-mips Add syncfs(2). 2017-08-24 16:31:49 -07:00
arch-mips64 Add syncfs(2). 2017-08-24 16:31:49 -07:00
arch-x86 <stdbool.h> not necessary in C++. 2017-09-07 13:28:14 -07:00
arch-x86_64 Add syncfs(2). 2017-08-24 16:31:49 -07:00
async_safe Improve pthread_create failure handling. 2017-09-19 14:02:50 -07:00
bionic Improve pthread_create failure handling. 2017-09-19 14:02:50 -07:00
dns
include Merge "Rename _Exit in a way that works with libandroid_support." 2017-09-19 18:34:52 +00:00
kernel Use env to invoke python 2017-08-31 15:11:50 -07:00
malloc_debug Provide method to dump backtrace heap data. 2017-09-05 15:57:00 -07:00
private Implement <iconv.h>. 2017-08-25 08:47:41 -07:00
seccomp Merge "Allow io_* syscalls." 2017-08-29 03:28:25 +00:00
stdio
stdlib
tools Use env to invoke python 2017-08-31 15:11:50 -07:00
tzcode
upstream-freebsd Finish <search.h>. 2017-08-31 17:38:51 -07:00
upstream-netbsd libc: Add support to allow library calls to find appropriate shell executable for a process 2017-08-22 10:17:28 -07:00
upstream-openbsd Always log errno when aborting. 2017-09-15 16:18:49 -07:00
versioner-dependencies
Android.bp Use an embedded linker for host bionic 2017-09-20 13:59:13 -07:00
Android.mk
MODULE_LICENSE_BSD
NOTICE Finish <search.h>. 2017-08-31 17:38:51 -07:00
SECCOMP_BLACKLIST.TXT
SECCOMP_WHITELIST.TXT Merge "Allow io_* syscalls." 2017-08-29 03:28:25 +00:00
SECCOMP_WHITELIST_GLOBAL.TXT
SYSCALLS.TXT Add syncfs(2). 2017-08-24 16:31:49 -07:00
fs_config_generator.py
libc.arm.map Finish <search.h>. 2017-08-31 17:38:51 -07:00
libc.arm64.map Finish <search.h>. 2017-08-31 17:38:51 -07:00
libc.map.txt Finish <search.h>. 2017-08-31 17:38:51 -07:00
libc.mips.map Finish <search.h>. 2017-08-31 17:38:51 -07:00
libc.mips64.map Finish <search.h>. 2017-08-31 17:38:51 -07:00
libc.x86.map Finish <search.h>. 2017-08-31 17:38:51 -07:00
libc.x86_64.map Finish <search.h>. 2017-08-31 17:38:51 -07:00
libstdc++.arm.map
libstdc++.arm64.map
libstdc++.map.txt
libstdc++.mips.map
libstdc++.mips64.map
libstdc++.x86.map
libstdc++.x86_64.map
version_script.txt