wasm-tools 1.248.0

CLI tools for interoperating with WebAssembly files
Documentation
   0x0 | 00 61 73 6d | version 13 (Component)
       | 0d 00 01 00
   0x8 | 07 30       | component type section
   0xa | 01          | 1 count
   0xb | 42 06 01 70 | [type 0] Instance([Type(Defined(List(Primitive(U8)))), Type(Func(ComponentFuncType { async_: false, params: [("len", Primitive(U32))], result: Some(Type(0)) })), Export { name: ComponentExportName("read"), ty: Func(1) }, Type(Defined(List(Primitive(U8)))), Type(Func(ComponentFuncType { async_: false, params: [("buf", Type(2))], result: Some(Primitive(U32)) })), Export { name: ComponentExportName("write"), ty: Func(3) }])
       | 7d 01 40 01
       | 03 6c 65 6e
       | 79 00 00 04
       | 00 04 72 65
       | 61 64 01 01
       | 01 70 7d 01
       | 40 01 03 62
       | 75 66 02 00
       | 79 04 00 05
       | 77 72 69 74
       | 65 01 03   
  0x3a | 0a 0e       | component import section
  0x3c | 01          | 1 count
  0x3d | 00 09 77 61 | [instance 0] ComponentImport { name: ComponentImportName("wasi-file"), ty: Instance(0) }
       | 73 69 2d 66
       | 69 6c 65 05
       | 00         
  0x4a | 01 44       | [core module 0] inline size
    0x4c | 00 61 73 6d | version 1 (Module)
         | 01 00 00 00
    0x54 | 01 09       | type section
    0x56 | 01          | 1 count
--- rec group 0 (implicit) ---
    0x57 | 60 04 7f 7f | [type 0] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [I32, I32, I32, I32], results: [I32] }), shared: false, descriptor_idx: None, describes_idx: None } }
         | 7f 7f 01 7f
    0x5f | 03 02       | func section
    0x61 | 01          | 1 count
    0x62 | 00          | [func 0] type 0
    0x63 | 05 03       | memory section
    0x65 | 01          | 1 count
    0x66 | 00 00       | [memory 0] MemoryType { memory64: false, shared: false, initial: 0, maximum: None, page_size_log2: None }
    0x68 | 07 11       | export section
    0x6a | 02          | 2 count
    0x6b | 03 6d 65 6d | export Export { name: "mem", kind: Memory, index: 0 }
         | 02 00      
    0x71 | 07 72 65 61 | export Export { name: "realloc", kind: Func, index: 0 }
         | 6c 6c 6f 63
         | 00 00      
    0x7b | 0a 05       | code section
    0x7d | 01          | 1 count
============== func 0 ====================
    0x7e | 03          | size of function
    0x7f | 00          | 0 local blocks
    0x80 | 00          | unreachable
    0x81 | 0b          | end
    0x82 | 00 0c       | custom section
    0x84 | 04 6e 61 6d | name: "name"
         | 65         
    0x89 | 00 05       | module name
    0x8b | 04 6c 69 62 | "libc"
         | 63         
  0x90 | 02 04       | core instance section
  0x92 | 01          | 1 count
  0x93 | 00 00 00    | [core instance 0] Instantiate { module_index: 0, args: [] }
  0x96 | 01 5f       | [core module 1] inline size
    0x98 | 00 61 73 6d | version 1 (Module)
         | 01 00 00 00
    0xa0 | 01 09       | type section
    0xa2 | 02          | 2 count
--- rec group 0 (implicit) ---
    0xa3 | 60 02 7f 7f | [type 0] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [I32, I32], results: [] }), shared: false, descriptor_idx: None, describes_idx: None } }
         | 00         
--- rec group 1 (implicit) ---
    0xa8 | 60 00 00    | [type 1] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [], results: [] }), shared: false, descriptor_idx: None, describes_idx: None } }
    0xab | 02 12       | import section
    0xad | 01          | 1 count
    0xae | 09 77 61 73 | import [func 0] Import { module: "wasi-file", name: "read", ty: Func(0) }
         | 69 2d 66 69
         | 6c 65 04 72
         | 65 61 64 00
         | 00         
    0xbf | 03 02       | func section
    0xc1 | 01          | 1 count
    0xc2 | 01          | [func 1] type 1
    0xc3 | 07 08       | export section
    0xc5 | 01          | 1 count
    0xc6 | 04 70 6c 61 | export Export { name: "play", kind: Func, index: 1 }
         | 79 00 01   
    0xcd | 0a 05       | code section
    0xcf | 01          | 1 count
============== func 1 ====================
    0xd0 | 03          | size of function
    0xd1 | 00          | 0 local blocks
    0xd2 | 00          | unreachable
    0xd3 | 0b          | end
    0xd4 | 00 21       | custom section
    0xd6 | 04 6e 61 6d | name: "name"
         | 65         
    0xdb | 00 06       | module name
    0xdd | 05 43 48 49 | "CHILD"
         | 4c 44      
    0xe3 | 01 12       | function name section
    0xe5 | 02          | 2 count
    0xe6 | 00 09 77 61 | Naming { index: 0, name: "wasi-file" }
         | 73 69 2d 66
         | 69 6c 65   
    0xf1 | 01 04 70 6c | Naming { index: 1, name: "play" }
         | 61 79      
  0xf7 | 01 60       | [core module 2] inline size
    0xf9 | 00 61 73 6d | version 1 (Module)
         | 01 00 00 00
   0x101 | 01 0c       | type section
   0x103 | 02          | 2 count
--- rec group 0 (implicit) ---
   0x104 | 60 02 7f 7f | [type 0] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [I32, I32], results: [] }), shared: false, descriptor_idx: None, describes_idx: None } }
         | 00         
--- rec group 1 (implicit) ---
   0x109 | 60 03 7f 7f | [type 1] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [I32, I32, I32], results: [] }), shared: false, descriptor_idx: None, describes_idx: None } }
         | 7f 00      
   0x10f | 02 12       | import section
   0x111 | 01          | 1 count
   0x112 | 09 77 61 73 | import [func 0] Import { module: "wasi-file", name: "read", ty: Func(0) }
         | 69 2d 66 69
         | 6c 65 04 72
         | 65 61 64 00
         | 00         
   0x123 | 03 03       | func section
   0x125 | 02          | 2 count
   0x126 | 00          | [func 1] type 0
   0x127 | 01          | [func 2] type 1
   0x128 | 07 10       | export section
   0x12a | 02          | 2 count
   0x12b | 04 72 65 61 | export Export { name: "read", kind: Func, index: 1 }
         | 64 00 01   
   0x132 | 05 77 72 69 | export Export { name: "write", kind: Func, index: 2 }
         | 74 65 00 02
   0x13a | 0a 09       | code section
   0x13c | 02          | 2 count
============== func 1 ====================
   0x13d | 03          | size of function
   0x13e | 00          | 0 local blocks
   0x13f | 00          | unreachable
   0x140 | 0b          | end
============== func 2 ====================
   0x141 | 03          | size of function
   0x142 | 00          | 0 local blocks
   0x143 | 00          | unreachable
   0x144 | 0b          | end
   0x145 | 00 12       | custom section
   0x147 | 04 6e 61 6d | name: "name"
         | 65         
   0x14c | 00 0b       | module name
   0x14e | 0a 56 49 52 | "VIRTUALIZE"
         | 54 55 41 4c
         | 49 5a 45   
 0x159 | 06 1d       | component alias section
 0x15b | 03          | 3 count
 0x15c | 01 00 00 04 | alias [func 0] InstanceExport { kind: Func, instance_index: 0, name: "read" }
       | 72 65 61 64
 0x164 | 00 02 01 00 | alias [core memory 0] CoreInstanceExport { kind: Memory, instance_index: 0, name: "mem" }
       | 03 6d 65 6d
 0x16c | 00 00 01 00 | alias [core func 0] CoreInstanceExport { kind: Func, instance_index: 0, name: "realloc" }
       | 07 72 65 61
       | 6c 6c 6f 63
 0x178 | 08 09       | canonical function section
 0x17a | 01          | 1 count
 0x17b | 01 00 00 02 | [core func 1] Lower { func_index: 0, options: [Memory(0), Realloc(0)] }
       | 03 00 04 00
 0x183 | 02 28       | core instance section
 0x185 | 03          | 3 count
 0x186 | 01 01 04 72 | [core instance 1] FromExports([Export { name: "read", kind: Func, index: 1 }])
       | 65 61 64 00
       | 01         
 0x18f | 00 02 01 09 | [core instance 2] Instantiate { module_index: 2, args: [InstantiationArg { name: "wasi-file", kind: Instance, index: 1 }] }
       | 77 61 73 69
       | 2d 66 69 6c
       | 65 12 01   
 0x19e | 00 01 01 09 | [core instance 3] Instantiate { module_index: 1, args: [InstantiationArg { name: "wasi-file", kind: Instance, index: 2 }] }
       | 77 61 73 69
       | 2d 66 69 6c
       | 65 12 02   
 0x1ad | 07 05       | component type section
 0x1af | 01          | 1 count
 0x1b0 | 40 00 01 00 | [type 1] Func(ComponentFuncType { async_: false, params: [], result: None })
 0x1b4 | 06 1e       | component alias section
 0x1b6 | 03          | 3 count
 0x1b7 | 00 00 01 03 | alias [core func 2] CoreInstanceExport { kind: Func, instance_index: 3, name: "play" }
       | 04 70 6c 61
       | 79         
 0x1c0 | 00 02 01 00 | alias [core memory 1] CoreInstanceExport { kind: Memory, instance_index: 0, name: "mem" }
       | 03 6d 65 6d
 0x1c8 | 00 00 01 00 | alias [core func 3] CoreInstanceExport { kind: Func, instance_index: 0, name: "realloc" }
       | 07 72 65 61
       | 6c 6c 6f 63
 0x1d4 | 08 0a       | canonical function section
 0x1d6 | 01          | 1 count
 0x1d7 | 00 00 02 02 | [func 1] Lift { core_func_index: 2, type_index: 1, options: [Memory(1), Realloc(3)] }
       | 03 01 04 03
       | 01         
 0x1e0 | 0b 0a       | component export section
 0x1e2 | 01          | 1 count
 0x1e3 | 00 04 77 6f | export ComponentExport { name: ComponentExportName("work"), kind: Func, index: 1, ty: None }
       | 72 6b 01 01
       | 00         
 0x1ec | 00 7c       | custom section
 0x1ee | 0e 63 6f 6d | name: "component-name"
       | 70 6f 6e 65
       | 6e 74 2d 6e
       | 61 6d 65   
 0x1fd | 01 13 00 00 | core func name section
 0x201 | 01          | 1 count
 0x202 | 01 0e 72 65 | Naming { index: 1, name: "real-wasi-read" }
       | 61 6c 2d 77
       | 61 73 69 2d
       | 72 65 61 64
 0x212 | 01 1c 00 11 | core module name section
 0x216 | 03          | 3 count
 0x217 | 00 04 6c 69 | Naming { index: 0, name: "libc" }
       | 62 63      
 0x21d | 01 05 43 48 | Naming { index: 1, name: "CHILD" }
       | 49 4c 44   
 0x224 | 02 0a 56 49 | Naming { index: 2, name: "VIRTUALIZE" }
       | 52 54 55 41
       | 4c 49 5a 45
 0x230 | 01 1b 00 12 | core instance name section
 0x234 | 03          | 3 count
 0x235 | 00 04 6c 69 | Naming { index: 0, name: "libc" }
       | 62 63      
 0x23b | 02 09 76 69 | Naming { index: 2, name: "virt-wasi" }
       | 72 74 2d 77
       | 61 73 69   
 0x246 | 03 05 63 68 | Naming { index: 3, name: "child" }
       | 69 6c 64   
 0x24d | 01 0c 03    | type name section
 0x250 | 01          | 1 count
 0x251 | 00 08 57 61 | Naming { index: 0, name: "WasiFile" }
       | 73 69 46 69
       | 6c 65      
 0x25b | 01 0d 05    | instance name section
 0x25e | 01          | 1 count
 0x25f | 00 09 72 65 | Naming { index: 0, name: "real-wasi" }
       | 61 6c 2d 77
       | 61 73 69