diff options
author | Sam Clegg <sbc@chromium.org> | 2017-01-23 11:18:54 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-23 11:18:54 -0800 |
commit | 5a658b3f2b90cce2bb3d81994828d29b74e41958 (patch) | |
tree | 3c699b33173c95875a7a0a474456b438c02b29f7 /src/tools/wasmdump.c | |
parent | a6a3ff9398e06690081d8d41353ad3715ee19e7a (diff) | |
download | wabt-5a658b3f2b90cce2bb3d81994828d29b74e41958.tar.gz wabt-5a658b3f2b90cce2bb3d81994828d29b74e41958.tar.bz2 wabt-5a658b3f2b90cce2bb3d81994828d29b74e41958.zip |
Add function names and relocations to wasmdump disassembly (#285)
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; |