ART: Correctly report error loading agents
Use the error message from nativeloader.
Test: m test-art-host
Change-Id: I7c13eb748a57b1dd4105825ce402d0a96b5eca5c
diff --git a/runtime/ti/agent.cc b/runtime/ti/agent.cc
index 62bdde6..15c514e 100644
--- a/runtime/ti/agent.cc
+++ b/runtime/ti/agent.cc
@@ -117,15 +117,18 @@
: JavaVMExt::GetLibrarySearchPath(env, class_loader));
bool needs_native_bridge = false;
+ std::string nativeloader_error_msg;
void* dlopen_handle = android::OpenNativeLibrary(env,
Runtime::Current()->GetTargetSdkVersion(),
name_.c_str(),
class_loader,
library_path.get(),
&needs_native_bridge,
- error_msg);
+ &nativeloader_error_msg);
if (dlopen_handle == nullptr) {
- *error_msg = StringPrintf("Unable to dlopen %s: %s", name_.c_str(), dlerror());
+ *error_msg = StringPrintf("Unable to dlopen %s: %s",
+ name_.c_str(),
+ nativeloader_error_msg.c_str());
*error = kLoadingError;
return nullptr;
}