Merge changes I732e5b8a,I4271909e
* changes:
libutils: RefBase DEBUG_REF love
libutils: DEBUG_* modes compile forever
diff --git a/libutils/Android.bp b/libutils/Android.bp
index c744b53..26e1597 100644
--- a/libutils/Android.bp
+++ b/libutils/Android.bp
@@ -58,10 +58,6 @@
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_library {
- name: "libutils",
+cc_defaults {
+ name: "libutils_impl_defaults",
defaults: ["libutils_defaults"],
native_bridge_supported: true,
@@ -181,11 +177,39 @@
}
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 1a3f34b..402e43c 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 <utils/Looper.h>
diff --git a/libutils/RefBase.cpp b/libutils/RefBase.cpp
index ed5b2a9..ab122c7 100644
--- a/libutils/RefBase.cpp
+++ b/libutils/RefBase.cpp
@@ -21,9 +21,11 @@
#include <android-base/macros.h>
+#include <fcntl.h>
#include <log/log.h>
#include <utils/RefBase.h>
+#include <utils/String8.h>
#include <utils/Mutex.h>
@@ -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 @@
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 98dd2fd..c3ec165 100644
--- a/libutils/Tokenizer.cpp
+++ b/libutils/Tokenizer.cpp
@@ -21,9 +21,10 @@
#include <sys/stat.h>
#include <utils/Log.h>
+#ifndef DEBUG_TOKENIZER
// Enables debug output for the tokenizer.
#define DEBUG_TOKENIZER 0
-
+#endif
namespace android {