mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-14 02:56:08 +00:00

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
43 lines
1.0 KiB
Plaintext
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
|