diff --git a/libutils/Android.bp b/libutils/Android.bp index c744b5316..26e159793 100644 --- a/libutils/Android.bp +++ b/libutils/Android.bp @@ -58,10 +58,6 @@ cc_defaults { vendor_available: true, product_available: true, recovery_available: true, - vndk: { - enabled: true, - support_system_process: true, - }, host_supported: true, cflags: [ @@ -126,8 +122,8 @@ cc_defaults { }, } -cc_library { - name: "libutils", +cc_defaults { + name: "libutils_impl_defaults", defaults: ["libutils_defaults"], native_bridge_supported: true, @@ -180,12 +176,40 @@ cc_library { }, } +cc_library { + name: "libutils", + defaults: ["libutils_impl_defaults"], + + vndk: { + enabled: true, + support_system_process: true, + }, +} + +cc_library { + name: "libutils_test_compile", + defaults: ["libutils_impl_defaults"], + + cflags: [ + "-DCALLSTACKS=1", + "-DDEBUG_POLL_AND_WAKE=1", + "-DDEBUG_REFS=1", + "-DDEBUG_TOKENIZER=1", + ], + + visibility: [":__subpackages__"], +} + cc_library { name: "libutilscallstack", defaults: ["libutils_defaults"], // TODO(b/153609531): remove when no longer needed. native_bridge_supported: true, min_sdk_version: "29", + vndk: { + enabled: true, + support_system_process: true, + }, srcs: [ "CallStack.cpp", diff --git a/libutils/Looper.cpp b/libutils/Looper.cpp index 1a3f34bed..402e43cc6 100644 --- a/libutils/Looper.cpp +++ b/libutils/Looper.cpp @@ -8,10 +8,14 @@ //#define LOG_NDEBUG 0 // Debugs poll and wake interactions. +#ifndef DEBUG_POLL_AND_WAKE #define DEBUG_POLL_AND_WAKE 0 +#endif // Debugs callback registration and invocation. +#ifndef DEBUG_CALLBACKS #define DEBUG_CALLBACKS 0 +#endif #include diff --git a/libutils/RefBase.cpp b/libutils/RefBase.cpp index ed5b2a958..ab122c732 100644 --- a/libutils/RefBase.cpp +++ b/libutils/RefBase.cpp @@ -21,9 +21,11 @@ #include +#include #include #include +#include #include @@ -32,7 +34,9 @@ #endif // Compile with refcounting debugging enabled. +#ifndef DEBUG_REFS #define DEBUG_REFS 0 +#endif // The following three are ignored unless DEBUG_REFS is set. @@ -45,7 +49,11 @@ // folder where stack traces are saved when DEBUG_REFS is enabled // this folder needs to exist and be writable +#ifdef __ANDROID__ #define DEBUG_REFS_CALLSTACK_PATH "/data/debug" +#else +#define DEBUG_REFS_CALLSTACK_PATH "." +#endif // log all reference counting operations #define PRINT_REFS 0 @@ -320,11 +328,11 @@ public: char name[100]; snprintf(name, sizeof(name), DEBUG_REFS_CALLSTACK_PATH "/%p.stack", this); - int rc = open(name, O_RDWR | O_CREAT | O_APPEND, 644); + int rc = open(name, O_RDWR | O_CREAT | O_APPEND, 0644); if (rc >= 0) { (void)write(rc, text.string(), text.length()); close(rc); - ALOGD("STACK TRACE for %p saved in %s", this, name); + ALOGI("STACK TRACE for %p saved in %s", this, name); } else ALOGE("FAILED TO PRINT STACK TRACE for %p in %s: %s", this, name, strerror(errno)); diff --git a/libutils/Tokenizer.cpp b/libutils/Tokenizer.cpp index 98dd2fda5..c3ec1652b 100644 --- a/libutils/Tokenizer.cpp +++ b/libutils/Tokenizer.cpp @@ -21,9 +21,10 @@ #include #include +#ifndef DEBUG_TOKENIZER // Enables debug output for the tokenizer. #define DEBUG_TOKENIZER 0 - +#endif namespace android {