summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandra Loro <aloro@google.com>2022-09-01 10:33:35 +0000
committerAlessandra Loro <aloro@google.com>2022-11-01 18:34:36 +0000
commit46b33019ef3a93e1d0b9095d1a3a7bf1f0bb9396 (patch)
tree41b180f0289a68787f82f2e6ddae973fead7623f
parent046a809a90814bcea76aec1ec26d464db3b686dd (diff)
downloadcore-46b33019ef3a93e1d0b9095d1a3a7bf1f0bb9396.tar.gz
Resolve ro.debuggable at build time
Ignore-AOSP-First: cherry-pick for tm-qpr-dev Test: n/a Bug: 193912100 Bug: 243645021 Merged-In: I83b0021b91536335c63d19f8a65933bad1b26b4e Change-Id: I42c4b1e81383d83c73a565c5e74ac22f17389faf
-rw-r--r--debuggerd/Android.bp6
-rw-r--r--debuggerd/include/debuggerd/handler.h7
2 files changed, 10 insertions, 3 deletions
diff --git a/debuggerd/Android.bp b/debuggerd/Android.bp
index ad0231d8d..51988727d 100644
--- a/debuggerd/Android.bp
+++ b/debuggerd/Android.bp
@@ -14,9 +14,15 @@ cc_defaults {
"-Wno-nullability-completeness",
"-Os",
"-fno-finite-loops",
+ "-DANDROID_DEBUGGABLE=0",
],
local_include_dirs: ["include"],
+ product_variables: {
+ debuggable: {
+ cflags: ["-UANDROID_DEBUGGABLE", "-DANDROID_DEBUGGABLE=1"],
+ }
+ },
}
cc_library_headers {
diff --git a/debuggerd/include/debuggerd/handler.h b/debuggerd/include/debuggerd/handler.h
index bc08327a1..68b2e678b 100644
--- a/debuggerd/include/debuggerd/handler.h
+++ b/debuggerd/include/debuggerd/handler.h
@@ -62,10 +62,11 @@ void debuggerd_init(debuggerd_callbacks_t* callbacks);
#define DEBUGGER_SIGNAL BIONIC_SIGNAL_DEBUGGER
static void __attribute__((__unused__)) debuggerd_register_handlers(struct sigaction* action) {
+ bool enabled = true;
+#if ANDROID_DEBUGGABLE
char value[PROP_VALUE_MAX] = "";
- bool enabled =
- !(__system_property_get("ro.debuggable", value) > 0 && !strcmp(value, "1") &&
- __system_property_get("debug.debuggerd.disable", value) > 0 && !strcmp(value, "1"));
+ enabled = !(__system_property_get("debug.debuggerd.disable", value) > 0 && !strcmp(value, "1"));
+#endif
if (enabled) {
sigaction(SIGABRT, action, nullptr);
sigaction(SIGBUS, action, nullptr);