llvm-project/llvm/test/tools/llvm-objdump/wasm/executable-without-symbols.test
Andy Wingo db69ea40a9 [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols
If a file has no symbols, perhaps because it is a linked executable,
synthesize some symbols by walking the code section.  Otherwise the
disassembler will try to treat the whole code section as a function,
which won't parse.  Fixes https://bugs.llvm.org/show_bug.cgi?id=50957.

Differential Revision: https://reviews.llvm.org/D105539
2021-07-19 08:59:26 +02:00

43 lines
1.0 KiB
Plaintext

# RUN: yaml2obj -o %t.wasm %s
# RUN: llvm-objdump -d %t.wasm | FileCheck %s
--- !WASM
FileHeader:
Version: 0x1
Sections:
- Type: TYPE
Signatures:
- Index: 0
ParamTypes: []
ReturnTypes: []
- Index: 1
ParamTypes:
- I32
ReturnTypes:
- I32
- Type: FUNCTION
FunctionTypes: [ 0, 1 ]
- Type: CODE
Functions:
- Index: 0
Locals: []
Body: 0B
- Index: 1
Locals: []
Body: 20000B
...
# CHECK: Disassembly of section CODE:
# CHECK-EMPTY:
# CHECK-NEXT: 00000000 <CODE>:
# CHECK-NEXT: # 2 functions in section.
# CHECK-EMPTY:
# CHECK-NEXT: 00000001 <>:
# CHECK-EMPTY:
# CHECK-NEXT: 3: 0b end
# CHECK-EMPTY:
# CHECK-NEXT: 00000004 <>:
# CHECK-EMPTY:
# CHECK-NEXT: 6: 20 00 local.get 0
# CHECK-NEXT: 8: 0b end