diff options
Diffstat (limited to 'src/tools/wasmdump.c')
-rw-r--r-- | src/tools/wasmdump.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/tools/wasmdump.c b/src/tools/wasmdump.c index a9452f8f..9ee96828 100644 --- a/src/tools/wasmdump.c +++ b/src/tools/wasmdump.c @@ -38,6 +38,7 @@ enum { FLAG_DISASSEMBLE, FLAG_DEBUG, FLAG_DETAILS, + FLAG_RELOCS, FLAG_HELP, NUM_FLAGS }; @@ -56,6 +57,8 @@ static WasmOption s_options[] = { "disassemble function bodies"}, {FLAG_DEBUG, '\0', "debug", NULL, NOPE, "disassemble function bodies"}, {FLAG_DETAILS, 'x', "details", NULL, NOPE, "Show section details"}, + {FLAG_RELOCS, 'r', "reloc", NULL, NOPE, + "show relocations inline with disassembly"}, {FLAG_HELP, 'h', "help", NULL, NOPE, "print this help message"}, }; @@ -90,6 +93,10 @@ static void on_option(struct WasmOptionParser* parser, s_objdump_options.details = WASM_TRUE; break; + case FLAG_RELOCS: + s_objdump_options.relocs = WASM_TRUE; + break; + case FLAG_SECTION: s_objdump_options.section_name = argument; break; @@ -157,6 +164,11 @@ int main(int argc, char** argv) { return 1; } + s_objdump_options.mode = WASM_DUMP_PREPASS; + result = wasm_read_binary_objdump(allocator, data, size, &s_objdump_options); + if (WASM_FAILED(result)) + goto done; + // Pass 1: Print the section headers if (s_objdump_options.headers) { s_objdump_options.mode = WASM_DUMP_HEADERS; |