WABT(1)

πŸ’… WABT β€” the wasm-validate era

okay so real talk, this page is from the WABT manual (General Commands Manual, bestie, we're fancy), and it's all about one iconic little tool. buckle up πŸŽ€


✨ NAME ✨

wasm-validate β€” literally just validates a file in the WebAssembly binary format. that's the whole job. she's a vibe checker for your .wasm files πŸ”₯


πŸ¦‹ SYNOPSIS πŸ¦‹

wasm-validate [options] filename

🌸 DESCRIPTION 🌸

so wasm-validate reads a file in the WebAssembly binary format and validates it. that's it. that's the post. she reads it, she checks it, she tells you if it's giving valid or not πŸ’€ no cap.

the options are as follows β€” and yes we're going through ALL of them, don't scroll past:

  • --help β€” prints this help message. the classic "help me help you" moment 🫢
  • --version β€” prints version information. iykyk, you gotta know what you're running ✨
  • -v, --verbose β€” use it multiple times for more info. stack 'em like bracelets, the more the chattier 🌈
  • --disable-exceptions β€” disables Experimental exception handling
  • --disable-mutable-globals β€” disables Import/export mutable globals
  • --disable-saturating-float-to-int β€” disables Saturating float-to-int operators
  • --disable-sign-extension β€” disables Sign-extension operators
  • --disable-simd β€” disables SIMD support
  • --enable-threads β€” enables Threading support. threading! multitasking queen πŸ‘‘
  • --enable-function-references β€” enables Typed function references
  • --disable-multi-value β€” disables Multi-value
  • --disable-tail-call β€” disables Tail-call support
  • --disable-bulk-memory β€” disables Bulk-memory operations
  • --disable-reference-types β€” disables Reference types (externref)
  • --disable-annotations β€” disables Custom annotation syntax
  • --enable-code-metadata β€” enables Code metadata
  • --enable-gc β€” enables Garbage collection. she cleans up after herself, we love that 🧚
  • --disable-memory64 β€” disables 64-bit memory
  • --disable-multi-memory β€” disables Multi-memory
  • --disable-extended-const β€” disables Extended constant expressions
  • --disable-relaxed-simd β€” disables Relaxed SIMD
  • --enable-custom-page-sizes β€” enables Custom page sizes
  • --enable-compact-imports β€” enables Compact import section
  • --enable-wide-arithmetic β€” enables Wide arithmetic
  • --enable-all β€” enables all features. the "yes to everything" button, the main character choice 🌟
  • --no-debug-names β€” ignores debug names in the binary file
ngl the naming pattern is a little chaotic β€” some are --disable-*, some are --enable-*, and that's just how she is. copy them exactly, don't @ me πŸ™ˆ

πŸ“ EXAMPLES πŸ“

validate binary file test.wasm:

$ wasm-validate test.wasm

like, that's the whole ritual. chef's kiss πŸ’…


πŸ”₯ SEE ALSO πŸ”₯

the whole friend group, fr fr:

wasm-interp(1), wasm-objdump(1), wasm-stats(1), wasm-strip(1), wasm2c(1), wasm2wat(1), wast2json(1), wat-desugar(1), wat2wasm(1), spectest-interp(1)


πŸ’€ BUGS πŸ’€

if you find a bug, please report it at https://github.com/WebAssembly/wabt/issues. don't suffer in silence bestie, tell the maintainers 🌸


okay that's the whole page!! this beauty is WABT(1) from Debian, dated $Mdocdate$ β€” love her, no notes, periodt πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from