diff options
Diffstat (limited to 'test/dump')
-rw-r--r-- | test/dump/relocations-all-features.txt | 90 | ||||
-rw-r--r-- | test/dump/relocations.txt | 46 | ||||
-rw-r--r-- | test/dump/symbol-tables-all-features.txt | 74 | ||||
-rw-r--r-- | test/dump/symbol-tables.txt | 50 |
4 files changed, 236 insertions, 24 deletions
diff --git a/test/dump/relocations-all-features.txt b/test/dump/relocations-all-features.txt new file mode 100644 index 00000000..19f940a4 --- /dev/null +++ b/test/dump/relocations-all-features.txt @@ -0,0 +1,90 @@ +;;; TOOL: run-objdump +;;; ARGS0: -r --enable-all +;;; ARGS1: --headers --details +(module + (type $t (func (param i32))) + (import "__extern" "foo" (func (param i32) (result i32))) + (import "__extern" "bar" (func (param i32) (param i32) (result i32))) + (global $g i32 (i32.const 0)) + (func $f (param i32) (result i32) + get_global 0 + call 2 + call 0 + i32.const 1234 + i32.const 0 + call_indirect (param i32) (param i32) (result i32)) + (export "f" (func $f)) + (table anyfunc (elem 1))) +(;; STDOUT ;;; + +relocations-all-features.wasm: file format wasm 0x1 + +Sections: + + Type start=0x0000000a end=0x0000001a (size=0x00000010) count: 3 + Import start=0x0000001c end=0x0000003b (size=0x0000001f) count: 2 + Function start=0x0000003d end=0x0000003f (size=0x00000002) count: 1 + Table start=0x00000041 end=0x00000046 (size=0x00000005) count: 1 + Global start=0x00000048 end=0x0000004e (size=0x00000006) count: 1 + Export start=0x00000050 end=0x00000055 (size=0x00000005) count: 1 + Elem start=0x00000057 end=0x0000005e (size=0x00000007) count: 1 + Code start=0x00000060 end=0x00000086 (size=0x00000026) count: 1 + Custom start=0x00000088 end=0x000000a9 (size=0x00000021) "linking" + Custom start=0x000000ab end=0x000000c7 (size=0x0000001c) "reloc.Code" + +Section Details: + +Type[3]: + - type[0] (i32) -> nil + - type[1] (i32) -> i32 + - type[2] (i32, i32) -> i32 +Import[2]: + - func[0] sig=1 <__extern.foo> <- __extern.foo + - func[1] sig=2 <__extern.bar> <- __extern.bar +Function[1]: + - func[2] sig=1 <f> +Table[1]: + - table[0] type=funcref initial=1 max=1 +Global[1]: + - global[0] i32 mutable=0 <g> - init i32=0 +Export[1]: + - func[2] <f> -> "f" +Elem[1]: + - segment[0] flags=0 table=0 count=1 - init i32=0 + - elem[0] = func[1] <__extern.bar> +Code[1]: + - func[2] size=36 <f> +Custom: + - name: "linking" + - symbol table [count=5] + - 0: F <__extern.foo> func=0 undefined binding=global vis=default + - 1: F <__extern.bar> func=1 undefined binding=global vis=default + - 2: F <f> func=2 exported no_strip binding=global vis=hidden + - 3: T <> table=0 binding=local vis=hidden + - 4: G <g> global=0 binding=global vis=default +Custom: + - name: "reloc.Code" + - relocations for section: 7 (Code) [5] + - R_WASM_GLOBAL_INDEX_LEB offset=0x000004(file=0x000064) symbol=4 <g> + - R_WASM_FUNCTION_INDEX_LEB offset=0x00000a(file=0x00006a) symbol=2 <f> + - R_WASM_FUNCTION_INDEX_LEB offset=0x000010(file=0x000070) symbol=0 <__extern.foo> + - R_WASM_TYPE_INDEX_LEB offset=0x00001b(file=0x00007b) type=2 + - R_WASM_TABLE_NUMBER_LEB offset=0x000020(file=0x000080) symbol=3 <> + +Code Disassembly: + +000062 func[2] <f>: + 000063: 23 80 80 80 80 00 | global.get 0 <g> + 000064: R_WASM_GLOBAL_INDEX_LEB 4 <g> + 000069: 10 82 80 80 80 00 | call 2 <f> + 00006a: R_WASM_FUNCTION_INDEX_LEB 2 <f> + 00006f: 10 80 80 80 80 00 | call 0 <__extern.foo> + 000070: R_WASM_FUNCTION_INDEX_LEB 0 <__extern.foo> + 000075: 41 d2 09 | i32.const 1234 + 000078: 41 00 | i32.const 0 + 00007a: 11 82 80 80 80 00 80 80 80 | call_indirect 2 0 + 000083: 80 00 | + 00007b: R_WASM_TYPE_INDEX_LEB 2 + 000085: 0b | end + 000080: R_WASM_TABLE_NUMBER_LEB 3 <> +;;; STDOUT ;;) diff --git a/test/dump/relocations.txt b/test/dump/relocations.txt index d856413a..1fb5e708 100644 --- a/test/dump/relocations.txt +++ b/test/dump/relocations.txt @@ -1,6 +1,6 @@ ;;; TOOL: run-objdump ;;; ARGS0: -r -;;; ARGS1: --headers +;;; ARGS1: --headers --details (module (type $t (func (param i32))) (import "__extern" "foo" (func (param i32) (result i32))) @@ -29,14 +29,52 @@ Sections: Export start=0x00000050 end=0x00000055 (size=0x00000005) count: 1 Elem start=0x00000057 end=0x0000005e (size=0x00000007) count: 1 Code start=0x00000060 end=0x00000082 (size=0x00000022) count: 1 - Custom start=0x00000084 end=0x000000a1 (size=0x0000001d) "linking" - Custom start=0x000000a3 end=0x000000bc (size=0x00000019) "reloc.Code" + Custom start=0x00000084 end=0x000000a5 (size=0x00000021) "linking" + Custom start=0x000000a7 end=0x000000c0 (size=0x00000019) "reloc.Code" + +Section Details: + +Type[3]: + - type[0] (i32) -> nil + - type[1] (i32) -> i32 + - type[2] (i32, i32) -> i32 +Import[2]: + - func[0] sig=1 <__extern.foo> <- __extern.foo + - func[1] sig=2 <__extern.bar> <- __extern.bar +Function[1]: + - func[2] sig=1 <f> +Table[1]: + - table[0] type=funcref initial=1 max=1 +Global[1]: + - global[0] i32 mutable=0 <g> - init i32=0 +Export[1]: + - func[2] <f> -> "f" +Elem[1]: + - segment[0] flags=0 table=0 count=1 - init i32=0 + - elem[0] = func[1] <__extern.bar> +Code[1]: + - func[2] size=32 <f> +Custom: + - name: "linking" + - symbol table [count=5] + - 0: F <__extern.foo> func=0 undefined binding=global vis=default + - 1: F <__extern.bar> func=1 undefined binding=global vis=default + - 2: F <f> func=2 exported no_strip binding=global vis=hidden + - 3: T <> table=0 binding=local vis=hidden + - 4: G <g> global=0 binding=global vis=default +Custom: + - name: "reloc.Code" + - relocations for section: 7 (Code) [4] + - R_WASM_GLOBAL_INDEX_LEB offset=0x000004(file=0x000064) symbol=4 <g> + - R_WASM_FUNCTION_INDEX_LEB offset=0x00000a(file=0x00006a) symbol=2 <f> + - R_WASM_FUNCTION_INDEX_LEB offset=0x000010(file=0x000070) symbol=0 <__extern.foo> + - R_WASM_TYPE_INDEX_LEB offset=0x00001b(file=0x00007b) type=2 Code Disassembly: 000062 func[2] <f>: 000063: 23 80 80 80 80 00 | global.get 0 <g> - 000064: R_WASM_GLOBAL_INDEX_LEB 3 <g> + 000064: R_WASM_GLOBAL_INDEX_LEB 4 <g> 000069: 10 82 80 80 80 00 | call 2 <f> 00006a: R_WASM_FUNCTION_INDEX_LEB 2 <f> 00006f: 10 80 80 80 80 00 | call 0 <__extern.foo> diff --git a/test/dump/symbol-tables-all-features.txt b/test/dump/symbol-tables-all-features.txt new file mode 100644 index 00000000..562c62a2 --- /dev/null +++ b/test/dump/symbol-tables-all-features.txt @@ -0,0 +1,74 @@ +;;; TOOL: run-objdump +;;; ARGS0: -r --enable-all +;;; ARGS1: -x +(module + (type (;0;) (func)) + (import "env" "b" (func (;0;) (type 0))) + (func $a (type 0) + call 0) + (func (type 0) + call 0) + (func $b (type 0) + (call_indirect (type 0) (i32.const 0)) + call 0) + (export "a" (func $a)) + (table $t 0 funcref)) +(;; STDOUT ;;; + +symbol-tables-all-features.wasm: file format wasm 0x1 + +Section Details: + +Type[1]: + - type[0] () -> nil +Import[1]: + - func[0] sig=0 <env.b> <- env.b +Function[3]: + - func[1] sig=0 <a> + - func[2] sig=0 + - func[3] sig=0 <b> +Table[1]: + - table[0] type=funcref initial=0 +Export[1]: + - func[1] <a> -> "a" +Code[3]: + - func[1] size=8 <a> + - func[2] size=8 + - func[3] size=21 <b> +Custom: + - name: "linking" + - symbol table [count=5] + - 0: F <env.b> func=0 undefined binding=global vis=default + - 1: F <a> func=1 exported no_strip binding=global vis=hidden + - 2: F <> func=2 binding=local vis=hidden + - 3: F <b> func=3 binding=global vis=default + - 4: T <t> table=0 binding=global vis=default +Custom: + - name: "reloc.Code" + - relocations for section: 5 (Code) [5] + - R_WASM_FUNCTION_INDEX_LEB offset=0x000004(file=0x000032) symbol=0 <env.b> + - R_WASM_FUNCTION_INDEX_LEB offset=0x00000d(file=0x00003b) symbol=0 <env.b> + - R_WASM_TYPE_INDEX_LEB offset=0x000018(file=0x000046) type=0 + - R_WASM_TABLE_NUMBER_LEB offset=0x00001d(file=0x00004b) symbol=4 <t> + - R_WASM_FUNCTION_INDEX_LEB offset=0x000023(file=0x000051) symbol=0 <env.b> + +Code Disassembly: + +000030 func[1] <a>: + 000031: 10 80 80 80 80 00 | call 0 <env.b> + 000032: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> + 000037: 0b | end +000039 func[2]: + 00003a: 10 80 80 80 80 00 | call 0 <env.b> + 00003b: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> + 000040: 0b | end +000042 func[3] <b>: + 000043: 41 00 | i32.const 0 + 000045: 11 80 80 80 80 00 80 80 80 | call_indirect 0 0 + 00004e: 80 00 | + 000046: R_WASM_TYPE_INDEX_LEB 0 + 000050: 10 80 80 80 80 00 | call 0 <env.b> + 00004b: R_WASM_TABLE_NUMBER_LEB 4 <t> + 000056: 0b | end + 000051: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> +;;; STDOUT ;;) diff --git a/test/dump/symbol-tables.txt b/test/dump/symbol-tables.txt index 26385d4f..7d6555e2 100644 --- a/test/dump/symbol-tables.txt +++ b/test/dump/symbol-tables.txt @@ -9,8 +9,10 @@ (func (type 0) call 0) (func $b (type 0) + (call_indirect (type 0) (i32.const 0)) call 0) - (export "a" (func $a))) + (export "a" (func $a)) + (table $t 0 funcref)) (;; STDOUT ;;; symbol-tables.wasm: file format wasm 0x1 @@ -25,37 +27,45 @@ Function[3]: - func[1] sig=0 <a> - func[2] sig=0 - func[3] sig=0 <b> +Table[1]: + - table[0] type=funcref initial=0 Export[1]: - func[1] <a> -> "a" Code[3]: - func[1] size=8 <a> - func[2] size=8 - - func[3] size=8 <b> + - func[3] size=17 <b> Custom: - name: "linking" - - symbol table [count=3] + - symbol table [count=5] - 0: F <env.b> func=0 undefined binding=global vis=default - 1: F <a> func=1 exported no_strip binding=global vis=hidden - - 2: F <b> func=3 binding=global vis=default + - 2: F <> func=2 binding=local vis=hidden + - 3: F <b> func=3 binding=global vis=default + - 4: T <t> table=0 binding=global vis=default Custom: - name: "reloc.Code" - - relocations for section: 4 (Code) [3] - - R_WASM_FUNCTION_INDEX_LEB offset=0x000004(file=0x00002c) symbol=0 <env.b> - - R_WASM_FUNCTION_INDEX_LEB offset=0x00000d(file=0x000035) symbol=0 <env.b> - - R_WASM_FUNCTION_INDEX_LEB offset=0x000016(file=0x00003e) symbol=0 <env.b> + - relocations for section: 5 (Code) [4] + - R_WASM_FUNCTION_INDEX_LEB offset=0x000004(file=0x000032) symbol=0 <env.b> + - R_WASM_FUNCTION_INDEX_LEB offset=0x00000d(file=0x00003b) symbol=0 <env.b> + - R_WASM_TYPE_INDEX_LEB offset=0x000018(file=0x000046) type=0 + - R_WASM_FUNCTION_INDEX_LEB offset=0x00001f(file=0x00004d) symbol=0 <env.b> Code Disassembly: -00002a func[1] <a>: - 00002b: 10 80 80 80 80 00 | call 0 <env.b> - 00002c: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> - 000031: 0b | end -000033 func[2]: - 000034: 10 80 80 80 80 00 | call 0 <env.b> - 000035: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> - 00003a: 0b | end -00003c func[3] <b>: - 00003d: 10 80 80 80 80 00 | call 0 <env.b> - 00003e: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> - 000043: 0b | end +000030 func[1] <a>: + 000031: 10 80 80 80 80 00 | call 0 <env.b> + 000032: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> + 000037: 0b | end +000039 func[2]: + 00003a: 10 80 80 80 80 00 | call 0 <env.b> + 00003b: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> + 000040: 0b | end +000042 func[3] <b>: + 000043: 41 00 | i32.const 0 + 000045: 11 80 80 80 80 00 00 | call_indirect 0 0 + 000046: R_WASM_TYPE_INDEX_LEB 0 + 00004c: 10 80 80 80 80 00 | call 0 <env.b> + 00004d: R_WASM_FUNCTION_INDEX_LEB 0 <env.b> + 000052: 0b | end ;;; STDOUT ;;) |