diff options
Diffstat (limited to 'src/tools/wasm-objdump.cc')
-rw-r--r-- | src/tools/wasm-objdump.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/tools/wasm-objdump.cc b/src/tools/wasm-objdump.cc index 5b907fc0..c8c8e7ad 100644 --- a/src/tools/wasm-objdump.cc +++ b/src/tools/wasm-objdump.cc @@ -82,36 +82,38 @@ Result dump_file(const char* filename) { ObjdumpState state; + Result result = Result::Ok; + // Pass 0: Prepass s_objdump_options.mode = ObjdumpMode::Prepass; - CHECK_RESULT(ReadBinaryObjdump(data, size, &s_objdump_options, &state)); + result |= ReadBinaryObjdump(data, size, &s_objdump_options, &state); s_objdump_options.log_stream = nullptr; // Pass 1: Print the section headers if (s_objdump_options.headers) { s_objdump_options.mode = ObjdumpMode::Headers; - CHECK_RESULT(ReadBinaryObjdump(data, size, &s_objdump_options, &state)); + result |= ReadBinaryObjdump(data, size, &s_objdump_options, &state); } // Pass 2: Print extra information based on section type if (s_objdump_options.details) { s_objdump_options.mode = ObjdumpMode::Details; - CHECK_RESULT(ReadBinaryObjdump(data, size, &s_objdump_options, &state)); + result |= ReadBinaryObjdump(data, size, &s_objdump_options, &state); } // Pass 3: Disassemble code section if (s_objdump_options.disassemble) { s_objdump_options.mode = ObjdumpMode::Disassemble; - CHECK_RESULT(ReadBinaryObjdump(data, size, &s_objdump_options, &state)); + result |= ReadBinaryObjdump(data, size, &s_objdump_options, &state); } // Pass 4: Dump to raw contents of the sections if (s_objdump_options.raw) { s_objdump_options.mode = ObjdumpMode::RawData; - CHECK_RESULT(ReadBinaryObjdump(data, size, &s_objdump_options, &state)); + result |= ReadBinaryObjdump(data, size, &s_objdump_options, &state); } - return Result::Ok; + return result; } int ProgramMain(int argc, char** argv) { |