26949eca35
Bug: 142944043 Test: m, art_libsigchain_test Change-Id: Iecdb32d9f1906113bbc6fb4bbbe9cee086fca58d
93 lines
2.7 KiB
Plaintext
93 lines
2.7 KiB
Plaintext
package {
|
|
default_applicable_licenses: ["frameworks_base_cmds_app_process_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "frameworks_base_cmds_app_process_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
],
|
|
license_text: [
|
|
"NOTICE",
|
|
],
|
|
}
|
|
|
|
cc_binary {
|
|
name: "app_process",
|
|
|
|
srcs: ["app_main.cpp"],
|
|
|
|
multilib: {
|
|
lib32: {
|
|
suffix: "32",
|
|
},
|
|
lib64: {
|
|
suffix: "64",
|
|
},
|
|
},
|
|
|
|
ldflags: ["-Wl,--export-dynamic"],
|
|
|
|
shared_libs: [
|
|
"libandroid_runtime",
|
|
"libbinder",
|
|
"libcutils",
|
|
"libdl",
|
|
"libhidlbase",
|
|
"liblog",
|
|
"libnativeloader",
|
|
|
|
// Even though app_process doesn't call into libsigchain, we need to
|
|
// make sure it's in the DT list of app_process, as we want all code
|
|
// in app_process and the libraries it loads to find libsigchain
|
|
// symbols before libc symbols.
|
|
"libsigchain",
|
|
|
|
"libutils",
|
|
|
|
// This is a list of libraries that need to be included in order to avoid
|
|
// bad apps. This prevents a library from having a mismatch when resolving
|
|
// new/delete from an app shared library.
|
|
// See b/21032018 for more details.
|
|
"libwilhelm",
|
|
],
|
|
|
|
compile_multilib: "both",
|
|
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wunused",
|
|
"-Wunreachable-code",
|
|
],
|
|
|
|
// If SANITIZE_LITE is revived this will need:
|
|
//product_variables: {
|
|
// sanitize_lite: {
|
|
// // In SANITIZE_LITE mode, we create the sanitized binary in a separate location (but reuse
|
|
// // the same module). Using the same module also works around an issue with make: binaries
|
|
// // that depend on sanitized libraries will be relinked, even if they set LOCAL_SANITIZE := never.
|
|
// //
|
|
// // Also pull in the asanwrapper helper.
|
|
// relative_install_path: "asan",
|
|
// required: ["asanwrapper"],
|
|
// },
|
|
//},
|
|
|
|
// Create a symlink from app_process to app_process32 or 64
|
|
// depending on the target configuration.
|
|
symlink_preferred_arch: true,
|
|
|
|
// Enable ASYNC MTE in the zygote, in order to allow apps and the system
|
|
// server to use MTE. We use ASYNC because we don't expect the pre-fork
|
|
// zygote to have substantial memory corruption bugs (as it's primarily Java
|
|
// code), and we don't want to waste memory recording malloc/free stack
|
|
// traces (which happens in SYNC mode).
|
|
sanitize: {
|
|
memtag_heap: true,
|
|
},
|
|
}
|