Index: runtime/vm/native_symbol_android.cc |
diff --git a/runtime/vm/native_symbol_android.cc b/runtime/vm/native_symbol_android.cc |
index 76ee86ffb5e64fbb7e48fb79ca486b9fd96025f5..a5e63fadcde1cb05498dd6ad3ad47d4a25dfe442 100644 |
--- a/runtime/vm/native_symbol_android.cc |
+++ b/runtime/vm/native_symbol_android.cc |
@@ -20,7 +20,7 @@ void NativeSymbolResolver::ShutdownOnce() { |
} |
-char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc) { |
+char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc, uintptr_t* start) { |
Dl_info info; |
int r = dladdr(reinterpret_cast<void*>(pc), &info); |
if (r == 0) { |
@@ -29,6 +29,9 @@ char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc) { |
if (info.dli_sname == NULL) { |
return NULL; |
} |
+ if (start != NULL) { |
+ *start = reinterpret_cast<uintptr_t>(info.dli_saddr); |
+ } |
return strdup(info.dli_sname); |
} |