ART: Fix oatdump
Refactor and modify cmdline.h to allow oatdump to run without a
Runtime.
Bug: 18789891
Change-Id: I1d7a1585e3672d04e58dbac9a4d4bd835c1c9143
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc
index b989c7f..de4ea36 100644
--- a/oatdump/oatdump.cc
+++ b/oatdump/oatdump.cc
@@ -2177,11 +2177,18 @@
virtual bool ExecuteWithoutRuntime() OVERRIDE {
CHECK(args_ != nullptr);
- CHECK(args_->symbolize_);
+ CHECK(args_->oat_filename_ != nullptr);
MemMap::Init();
- return SymbolizeOat(args_->oat_filename_, args_->output_name_) == EXIT_SUCCESS;
+ if (args_->symbolize_) {
+ return SymbolizeOat(args_->oat_filename_, args_->output_name_) == EXIT_SUCCESS;
+ } else {
+ return DumpOat(nullptr,
+ args_->oat_filename_,
+ oat_dumper_options_.release(),
+ args_->os_) == EXIT_SUCCESS;
+ }
}
virtual bool ExecuteWithRuntime(Runtime* runtime) {