| # clang -target wasm32 -nostdlib -Wl,--no-entry -Wl,--export-all -O0 -g -o simple.wasm simple.c | |
| # char* str = "data str"; | |
| # | |
| # int add(int a, int b) { | |
| # return a + b; | |
| # } | |
| # | |
| # int main() { | |
| # int i = 1; | |
| # int j = 2; | |
| # return add(i, j); | |
| # } | |
| # Additional imports have been manually added and indexes adjusted after compiling | |
| --- !WASM | |
| FileHeader: | |
| Version: 0x1 | |
| Sections: | |
| - Type: TYPE | |
| Signatures: | |
| - Index: 0 | |
| ParamTypes: [] | |
| ReturnTypes: [] | |
| - Index: 1 | |
| ParamTypes: | |
| - I32 | |
| - I32 | |
| ReturnTypes: | |
| - I32 | |
| - Index: 2 | |
| ParamTypes: [] | |
| ReturnTypes: | |
| - I32 | |
| - Type: IMPORT | |
| Imports: | |
| - Module: env | |
| Field: foo | |
| Kind: FUNCTION | |
| SigIndex: 0 | |
| - Module: env | |
| Field: another_import | |
| Kind: FUNCTION | |
| SigIndex: 0 | |
| - Module: env | |
| Field: bar | |
| Kind: GLOBAL | |
| GlobalType: I32 | |
| GlobalMutable: true | |
| - Type: FUNCTION | |
| FunctionTypes: [ 0, 1, 2, 1 ] | |
| - Type: TABLE | |
| Tables: | |
| - Index: 0 | |
| ElemType: FUNCREF | |
| Limits: | |
| Flags: [ HAS_MAX ] | |
| Minimum: 0x1 | |
| Maximum: 0x1 | |
| - Type: MEMORY | |
| Memories: | |
| - Minimum: 0x2 | |
| - Type: GLOBAL | |
| Globals: | |
| - Index: 1 | |
| Type: I32 | |
| Mutable: true | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 66576 | |
| - Index: 2 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 1036 | |
| - Index: 3 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 1024 | |
| - Index: 4 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 1040 | |
| - Index: 5 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 1040 | |
| - Index: 6 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 66576 | |
| - Index: 7 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 1024 | |
| - Index: 8 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 66576 | |
| - Index: 9 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 131072 | |
| - Index: 10 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 0 | |
| - Index: 11 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 1 | |
| - Index: 12 | |
| Type: I32 | |
| Mutable: false | |
| InitExpr: | |
| Opcode: I32_CONST | |
| Value: 65536 | |
| - Type: EXPORT | |
| Exports: | |
| - Name: memory | |
| Kind: MEMORY | |
| Index: 0 | |
| - Name: __wasm_call_ctors | |
| Kind: FUNCTION | |
| Index: 2 | |
| - Name: add | |
| Kind: FUNCTION | |
| Index: 3 | |
| - Name: __original_main | |
| Kind: FUNCTION | |
| Index: 4 | |
| - Name: main | |
| Kind: FUNCTION | |
| Index: 5 | |
| - Name: str | |
| Kind: GLOBAL | |
| Index: 1 | |
| - Name: __main_void | |
| Kind: FUNCTION | |
| Index: 2 | |
| - Name: __indirect_function_table | |
| Kind: TABLE | |
| Index: 0 | |
| - Name: __dso_handle | |
| Kind: GLOBAL | |
| Index: 2 | |
| - Name: __data_end | |
| Kind: GLOBAL | |
| Index: 3 | |
| - Name: __stack_low | |
| Kind: GLOBAL | |
| Index: 4 | |
| - Name: __stack_high | |
| Kind: GLOBAL | |
| Index: 5 | |
| - Name: __global_base | |
| Kind: GLOBAL | |
| Index: 6 | |
| - Name: __heap_base | |
| Kind: GLOBAL | |
| Index: 7 | |
| - Name: __heap_end | |
| Kind: GLOBAL | |
| Index: 8 | |
| - Name: __memory_base | |
| Kind: GLOBAL | |
| Index: 9 | |
| - Name: __table_base | |
| Kind: GLOBAL | |
| Index: 10 | |
| - Name: __wasm_first_page_end | |
| Kind: GLOBAL | |
| Index: 11 | |
| - Type: CODE | |
| Functions: | |
| - Index: 2 | |
| Locals: [] | |
| Body: 0B | |
| - Index: 3 | |
| Locals: | |
| - Type: I32 | |
| Count: 1 | |
| Body: 23808080800041106B21022002200036020C20022001360208200228020C20022802086A0F0B | |
| - Index: 4 | |
| Locals: | |
| - Type: I32 | |
| Count: 2 | |
| Body: 23808080800041106B210020002480808080002000410036020C2000410136020820004102360204200028020820002802041081808080002101200041106A24808080800020010F0B | |
| - Index: 5 | |
| Locals: [] | |
| Body: 1082808080000F0B | |
| - Type: DATA | |
| Segments: | |
| - SectionOffset: 7 | |
| InitFlags: 0 | |
| Offset: | |
| Opcode: I32_CONST | |
| Value: 1024 | |
| Content: '646174612073747200' | |
| - SectionOffset: 22 | |
| InitFlags: 0 | |
| Offset: | |
| Opcode: I32_CONST | |
| Value: 1036 | |
| Content: '00040000' | |
| - Type: CUSTOM | |
| Name: name | |
| FunctionNames: | |
| - Index: 0 | |
| Name: foo | |
| - Index: 1 | |
| Name: another_import | |
| - Index: 2 | |
| Name: __wasm_call_ctors | |
| - Index: 3 | |
| Name: add | |
| - Index: 4 | |
| Name: __original_main | |
| - Index: 5 | |
| Name: main | |
| GlobalNames: | |
| - Index: 1 | |
| Name: __stack_pointer | |
| DataSegmentNames: | |
| - Index: 0 | |
| Name: .rodata | |
| - Index: 1 | |
| Name: .data | |
| - Type: CUSTOM | |
| HeaderSecSizeEncodingLen: 2 | |
| Name: producers | |
| Languages: | |
| - Name: C11 | |
| Version: '' | |
| Tools: | |
| - Name: clang | |
| Version: '22.0.0git' | |
| - Type: CUSTOM | |
| Name: target_features | |
| Features: | |
| - Prefix: USED | |
| Name: bulk-memory | |
| - Prefix: USED | |
| Name: bulk-memory-opt | |
| - Prefix: USED | |
| Name: call-indirect-overlong | |
| - Prefix: USED | |
| Name: multivalue | |
| - Prefix: USED | |
| Name: mutable-globals | |
| - Prefix: USED | |
| Name: nontrapping-fptoint | |
| - Prefix: USED | |
| Name: reference-types | |
| - Prefix: USED | |
| Name: sign-ext | |
| ... |