diff options
author | Alessandra Loro <aloro@google.com> | 2022-09-01 10:33:35 +0000 |
---|---|---|
committer | Alessandra Loro <aloro@google.com> | 2022-11-01 18:34:36 +0000 |
commit | 46b33019ef3a93e1d0b9095d1a3a7bf1f0bb9396 (patch) | |
tree | 41b180f0289a68787f82f2e6ddae973fead7623f | |
parent | 046a809a90814bcea76aec1ec26d464db3b686dd (diff) | |
download | core-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.bp | 6 | ||||
-rw-r--r-- | debuggerd/include/debuggerd/handler.h | 7 |
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); |