mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
c56ad696b7
Currently only supports simple copying, other operations to follow. Reviewers: sbc100, alexshap, jhenderson Differential Revision: https://reviews.llvm.org/D70930 This is a reland of a928d127a with a one-line fix to ensure that the wasm version number is written as little-endian (it's the only field in all of the binary format that's not a single byte or an LEB, but we may have to watch out more when we start handling the linking section).
64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
## Test that the copied object has the same yaml conversion as the original.
|
|
## The copied object is not bit-identical to the yaml2obj-generated
|
|
## one, as yaml2obj uses 5-byte LEBs for section sizes (unlike objcopy/clang).
|
|
# RUN: yaml2obj %s -o %t.o
|
|
# RUN: llvm-objcopy %t.o %t2.o
|
|
# RUN: obj2yaml %t.o > %t.yaml
|
|
# RUN: obj2yaml %t2.o > %t2.yaml
|
|
# RUN: diff %t.yaml %t2.yaml
|
|
|
|
--- !WASM
|
|
FileHeader:
|
|
Version: 0x00000001
|
|
Sections:
|
|
- Type: TYPE
|
|
Signatures:
|
|
- Index: 0
|
|
ParamTypes:
|
|
- I32
|
|
ReturnTypes:
|
|
- F32
|
|
- Index: 1
|
|
ParamTypes:
|
|
- I32
|
|
- I64
|
|
ReturnTypes: []
|
|
- Type: FUNCTION
|
|
FunctionTypes:
|
|
- 0
|
|
- 1
|
|
- Type: CODE
|
|
Relocations:
|
|
- Type: R_WASM_TABLE_INDEX_SLEB
|
|
Index: 0
|
|
Offset: 0x00000002
|
|
- Type: R_WASM_FUNCTION_INDEX_LEB
|
|
Index: 1
|
|
Offset: 0x0000002
|
|
Functions:
|
|
- Index: 0
|
|
Locals:
|
|
- Type: I32
|
|
Count: 3
|
|
Body: 010101010B
|
|
- Index: 1
|
|
Locals:
|
|
- Type: I32
|
|
Count: 1
|
|
Body: 010101010B
|
|
- Type: CUSTOM
|
|
Name: linking
|
|
Version: 2
|
|
SymbolTable:
|
|
- Index: 0
|
|
Kind: FUNCTION
|
|
Name: func1
|
|
Flags: [ ]
|
|
Function: 0
|
|
- Index: 1
|
|
Kind: FUNCTION
|
|
Name: func2
|
|
Flags: [ ]
|
|
Function: 1
|
|
...
|