1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/test/tools/llvm-objcopy/wasm/basic-copy.test
Derek Schuff c56ad696b7 [llvm-objcopy] Initial support for wasm in llvm-objcopy
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).
2020-01-29 17:32:02 -08:00

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
...