mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
9389d362fa
We now check relocations offsets are within range, and the relocation index is valid. Also updated tests which contained invalid Wasm files that were previously not checked. Differential Revision: https://reviews.llvm.org/D43684 llvm-svn: 326697
88 lines
2.6 KiB
YAML
88 lines
2.6 KiB
YAML
# RUN: yaml2obj %s | obj2yaml | FileCheck %s
|
|
--- !WASM
|
|
FileHeader:
|
|
Version: 0x00000001
|
|
Sections:
|
|
- Type: TYPE
|
|
Signatures:
|
|
- Index: 0
|
|
ReturnType: F32
|
|
ParamTypes:
|
|
- I32
|
|
- Index: 1
|
|
ReturnType: NORESULT
|
|
ParamTypes:
|
|
- I32
|
|
- I64
|
|
- Type: FUNCTION
|
|
FunctionTypes:
|
|
- 0
|
|
- 1
|
|
- Type: CODE
|
|
Relocations:
|
|
- Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB
|
|
Index: 0
|
|
Offset: 0x00000006
|
|
- Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
|
|
Index: 1
|
|
Offset: 0x00000025
|
|
Functions:
|
|
- Index: 0
|
|
Locals:
|
|
- Type: I32
|
|
Count: 3
|
|
Body: 418080808000210020002101200111808080800000210220020F0B
|
|
- Index: 1
|
|
Locals:
|
|
- Type: I32
|
|
Count: 1
|
|
Body: 108180808000210020000F0B
|
|
- Type: CUSTOM
|
|
Name: linking
|
|
SymbolTable:
|
|
- Index: 0
|
|
Kind: FUNCTION
|
|
Name: func1
|
|
Flags: [ ]
|
|
Function: 0
|
|
- Index: 1
|
|
Kind: FUNCTION
|
|
Name: func2
|
|
Flags: [ ]
|
|
Function: 1
|
|
...
|
|
# CHECK: --- !WASM
|
|
# CHECK: FileHeader:
|
|
# CHECK: Version: 0x00000001
|
|
# CHECK: Sections:
|
|
# CHECK: - Type: TYPE
|
|
# CHECK: Signatures:
|
|
# CHECK: - Index: 0
|
|
# CHECK: ReturnType: F32
|
|
# CHECK: ParamTypes:
|
|
# CHECK: - I32
|
|
# CHECK: - Index: 1
|
|
# CHECK: ReturnType: NORESULT
|
|
# CHECK: ParamTypes:
|
|
# CHECK: - I32
|
|
# CHECK: - I64
|
|
# CHECK: - Type: CODE
|
|
# CHECK: Relocations:
|
|
# CHECK: - Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB
|
|
# CHECK: Index: 0
|
|
# CHECK: Offset: 0x00000006
|
|
# CHECK: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
|
|
# CHECK: Index: 1
|
|
# CHECK: Offset: 0x00000025
|
|
# CHECK: Functions:
|
|
# CHECK: - Index: 0
|
|
# CHECK: Locals:
|
|
# CHECK: - Type: I32
|
|
# CHECK: Count: 3
|
|
# CHECK: Body: 418080808000210020002101200111808080800000210220020F0B
|
|
# CHECK: - Index: 1
|
|
# CHECK: Locals:
|
|
# CHECK: - Type: I32
|
|
# CHECK: Count: 1
|
|
# CHECK: Body: 108180808000210020000F0B
|