summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Ivanov <dimitry@google.com>2016-12-14 14:30:37 -0800
committerDimitry Ivanov <dimitry@google.com>2016-12-14 14:30:37 -0800
commitcf00d86935b8cc3d64909aa153270bb9f2d97beb (patch)
tree45e1c590bd58b26fb3674bffb0bc008f0338a08c
parentcb0134d96ee67fc78082732835bcd7e5a4f5d63d (diff)
Add a way to track all dlsym calls (contd.)
The followup for 4742abdcb52f16120016a5005c466230d4c46341 Changes in this file got lost in the process of cherry-picking the change across repositories. Bug: http://b/29458203 Test: flash, set debug.ld.all to dlsym and check if there are messages in logcat Change-Id: I4613908e46e75c5d9ec66396767f10fc6d3e9777
-rw-r--r--linker/linker_logger.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/linker/linker_logger.cpp b/linker/linker_logger.cpp
index a9d358a1e..8190cc94f 100644
--- a/linker/linker_logger.cpp
+++ b/linker/linker_logger.cpp
@@ -45,6 +45,7 @@ static const char* kLdDebugPropertyPrefix = "debug.ld.app.";
static const char* kOptionErrors = "dlerror";
static const char* kOptionDlopen = "dlopen";
+static const char* kOptionDlsym = "dlsym";
static std::string property_get(const char* name) {
char value[PROP_VALUE_MAX] = {};
@@ -66,6 +67,8 @@ static uint32_t ParseProperty(const std::string& value) {
flags |= kLogErrors;
} else if (o == kOptionDlopen){
flags |= kLogDlopen;
+ } else if (o == kOptionDlsym){
+ flags |= kLogDlsym;
} else {
__libc_format_log(ANDROID_LOG_WARN, "linker", "Unknown debug.ld option \"%s\", will ignore.", o.c_str());
}