summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binary-reader-objdump.h2
-rw-r--r--src/tools/wasmdump.c24
2 files changed, 17 insertions, 9 deletions
diff --git a/src/binary-reader-objdump.h b/src/binary-reader-objdump.h
index c614fa1a..5e8274f7 100644
--- a/src/binary-reader-objdump.h
+++ b/src/binary-reader-objdump.h
@@ -33,7 +33,7 @@ typedef enum WasmObjdumpMode {
typedef struct WasmObjdumpOptions {
WasmBool headers;
- WasmBool verbose;
+ WasmBool details;
WasmBool raw;
WasmBool disassemble;
WasmBool debug;
diff --git a/src/tools/wasmdump.c b/src/tools/wasmdump.c
index 9696473d..feb00c5f 100644
--- a/src/tools/wasmdump.c
+++ b/src/tools/wasmdump.c
@@ -33,11 +33,11 @@
enum {
FLAG_HEADERS,
- FLAG_RAW,
FLAG_SECTION,
+ FLAG_RAW,
FLAG_DISASSEMBLE,
- FLAG_VERBOSE,
FLAG_DEBUG,
+ FLAG_DETAILS,
FLAG_HELP,
NUM_FLAGS
};
@@ -51,11 +51,11 @@ static const char s_description[] =
static WasmOption s_options[] = {
{FLAG_HEADERS, 'h', "headers", NULL, NOPE, "print headers"},
{FLAG_SECTION, 'j', "section", NULL, YEP, "select just one section"},
- {FLAG_RAW, 'r', "raw", NULL, NOPE, "print raw section contents"},
+ {FLAG_RAW, 's', "full-contents", NULL, NOPE, "print raw section contents"},
{FLAG_DISASSEMBLE, 'd', "disassemble", NULL, NOPE,
"disassemble function bodies"},
{FLAG_DEBUG, '\0', "debug", NULL, NOPE, "disassemble function bodies"},
- {FLAG_VERBOSE, 'v', "verbose", NULL, NOPE, "Verbose output"},
+ {FLAG_DETAILS, 'x', "details", NULL, NOPE, "Show section details"},
{FLAG_HELP, 'h', "help", NULL, NOPE, "print this help message"},
};
@@ -86,8 +86,8 @@ static void on_option(struct WasmOptionParser* parser,
s_objdump_options.disassemble = WASM_TRUE;
break;
- case FLAG_VERBOSE:
- s_objdump_options.verbose = WASM_TRUE;
+ case FLAG_DETAILS:
+ s_objdump_options.details = WASM_TRUE;
break;
case FLAG_SECTION:
@@ -127,6 +127,15 @@ int main(int argc, char** argv) {
wasm_init_stdio();
parse_options(argc, argv);
+ if (!s_objdump_options.headers && !s_objdump_options.details && !s_objdump_options.disassemble && !s_objdump_options.raw) {
+ fprintf(stderr, "At least one of the following switches must be given:\n");
+ fprintf(stderr, " -d/--disassemble\n");
+ fprintf(stderr, " -h/--headers\n");
+ fprintf(stderr, " -x/--details\n");
+ fprintf(stderr, " -s/--full-contents\n");
+ return 1;
+ }
+
WasmAllocator* allocator = &g_wasm_libc_allocator;
void* data;
@@ -137,7 +146,6 @@ int main(int argc, char** argv) {
// Perform serveral passed over the binary in order to print out different
// types of information.
-
s_objdump_options.print_header = 1;
// Pass 1: Print the section headers
@@ -149,7 +157,7 @@ int main(int argc, char** argv) {
s_objdump_options.print_header = 0;
}
// Pass 2: Print extra information based on section type
- if (s_objdump_options.verbose) {
+ if (s_objdump_options.details) {
s_objdump_options.mode = WASM_DUMP_DETAILS;
result = wasm_read_binary_objdump(allocator, data, size, &s_objdump_options);
if (WASM_FAILED(result))