summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandra Loro <aloro@google.com>2022-11-21 14:35:40 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-11-21 14:35:40 +0000
commit36ce32f54d9eb7b24882a95ee7c9fc96f15e1e59 (patch)
treed7f1b5bb11cd1910221cf910d0023c1a9c718789
parent9f99f0ed0f0406e16cdf6784ded4544383cf99ca (diff)
parent46b33019ef3a93e1d0b9095d1a3a7bf1f0bb9396 (diff)
Merge "Resolve ro.debuggable at build time" into tm-qpr-dev
-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);