summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorRoland Levillain <rpl@google.com>2020-02-19 15:49:02 +0000
committerRoland Levillain <rpl@google.com>2020-02-21 13:05:33 +0000
commit5b768893456ca3a998b7a2a93490229febbec1cf (patch)
tree4c88c226cd01758dccd0bbbeeca4d415c069813e /compiler/optimizing/graph_visualizer.cc
parent3cd802e4b80973b2c3893590c90d4bd5859d6dea (diff)
Make `libart(d)-disassembler` a requirement of `libart(d)-compiler`.
The constructor of `art::HGraphVisualizerDisassembler` (which is part of `libart(d)-compiler.so`) may dynamically load `libart(d)-disassembler.so`; add `libart(d)-disassembler` to the `runtime_libs` property of module `libart(d)-compiler` to make sure the former can be found. Also promote the failure to dynamically load `libart(s)-disassembler.so` in `art::HGraphVisualizerDisassembler::HGraphVisualizerDisassembler` from `WARNING` to `ERROR`. Test: art/tools/buildbot-build.sh --host \ && art/test/testrunner/testrunner.py --host --optimizing \ -t 640-checker-integer-valueof Bug: 149749169 Change-Id: I307bdf8b71e47ed8da1d6d62ab688c500b3f9c80
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r--compiler/optimizing/graph_visualizer.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index 9419c8dcf4..d94c1fa2fb 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -113,16 +113,19 @@ class HGraphVisualizerDisassembler {
const uint8_t* base_address,
const uint8_t* end_address)
: instruction_set_(instruction_set), disassembler_(nullptr) {
- libart_disassembler_handle_ =
- dlopen(kIsDebugBuild ? "libartd-disassembler.so" : "libart-disassembler.so", RTLD_NOW);
+ constexpr const char* libart_disassembler_so_name =
+ kIsDebugBuild ? "libartd-disassembler.so" : "libart-disassembler.so";
+ libart_disassembler_handle_ = dlopen(libart_disassembler_so_name, RTLD_NOW);
if (libart_disassembler_handle_ == nullptr) {
- LOG(WARNING) << "Failed to dlopen libart-disassembler: " << dlerror();
+ LOG(ERROR) << "Failed to dlopen " << libart_disassembler_so_name << ": " << dlerror();
return;
}
+ constexpr const char* create_disassembler_symbol = "create_disassembler";
create_disasm_prototype* create_disassembler = reinterpret_cast<create_disasm_prototype*>(
- dlsym(libart_disassembler_handle_, "create_disassembler"));
+ dlsym(libart_disassembler_handle_, create_disassembler_symbol));
if (create_disassembler == nullptr) {
- LOG(WARNING) << "Could not find create_disassembler entry: " << dlerror();
+ LOG(ERROR) << "Could not find " << create_disassembler_symbol << " entry in "
+ << libart_disassembler_so_name << ": " << dlerror();
return;
}
// Reading the disassembly from 0x0 is easier, so we print relative