platform_bionic/apex/Android.bp
Florian Mayer c10d064b5c Introduce hwasan mode for linker
This mode instructs the linker to search for libraries in hwasan
subdirectories of all library search paths. This is set up to contain a
hwasan-enabled copy of libc, which is needed for HWASan programs to
operate. There are two ways this mode can be enabled:

* for native binaries, by using the linker_hwasan64 symlink as its
  interpreter
* for apps: by setting the LD_HWASAN environment variable in wrap.sh

Bug: 276930343
Change-Id: I0f4117a50091616f26947fbe37a28ee573b97ad0
2023-04-14 01:33:30 -07:00

113 lines
2.3 KiB
Text

// Runtime (Bionic) APEX module
//
// In Q this contained Bionic, ART and Libcore.
// It keeps the name /apex/com.android.runtime for app compat reasons.
package {
default_applicable_licenses: ["bionic_apex_license"],
}
license {
name: "bionic_apex_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"NOTICE",
],
}
android_app_certificate {
name: "com.android.runtime.certificate",
certificate: "com.android.runtime",
}
apex_key {
name: "com.android.runtime.key",
public_key: "com.android.runtime.avbpubkey",
private_key: "com.android.runtime.pem",
}
apex {
name: "com.android.runtime",
compile_multilib: "both",
manifest: "manifest.json",
native_shared_libs: [
"libc",
"libm",
"libdl",
"libdl_android",
"libc_malloc_debug",
"libc_malloc_hooks",
],
arch: {
arm64: {
native_shared_libs: ["libc_hwasan", "libclang_rt.hwasan"],
},
},
binaries: [
"linkerconfig",
],
multilib: {
both: {
binaries: [
"crash_dump",
"linker",
],
},
},
key: "com.android.runtime.key",
certificate: ":com.android.runtime.certificate",
prebuilts: [
"bionic-linker-config",
],
updatable: false,
}
sdk {
name: "runtime-module-sdk",
defaults: ["linux_bionic_supported"],
native_header_libs: [
"bionic_libc_platform_headers",
"libc_headers",
],
native_shared_libs: [
"libc",
"libdl",
"libdl_android",
"libm",
],
native_static_libs: [
"libasync_safe",
"note_memtag_heap_async",
"note_memtag_heap_sync",
],
native_objects: [
"crtbegin_dynamic",
"crtbegin_so",
"crtend_android",
"crtend_so",
],
}
module_exports {
name: "runtime-module-host-exports",
host_supported: true,
device_supported: false,
compile_multilib: "64",
native_binaries: ["linkerconfig"],
target: {
linux_bionic: {
native_binaries: ["linker"],
},
},
}
linker_config {
name: "bionic-linker-config",
src: "linker.config.json",
installable: false,
}