1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
llvm-mirror/test/Object/wasm-relocs-and-producers.yaml
Thomas Lively 9ba095bc3f [WebAssembly] Generalize section ordering constraints
Summary:
Changes from using a total ordering of known sections to using a
dependency graph approach. This allows our tools to accept and process
binaries that are compliant with the spec and tool conventions that
would have been previously rejected. It also means our own tools can
do less work to enforce an artificially imposed ordering. Using a
general mechanism means fewer special cases and exceptions in the
ordering logic.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58312

llvm-svn: 354426
2019-02-20 02:22:36 +00:00

61 lines
1.7 KiB
YAML

# RUN: yaml2obj %s | llvm-objdump -s - | FileCheck %s
# This is a regression test for an issue with the section order
# checker being overly strict. yaml2obj places the relocations last,
# but the section order checker previously checked that relocations
# came before the producers section, which would cause this test to
# fail.
# CHECK: Contents of section producers:
# CHECK: Contents of section reloc.CODE:
--- !WASM
FileHeader:
Version: 0x00000001
Sections:
- Type: TYPE
Signatures:
- Index: 0
ReturnType: NORESULT
ParamTypes: []
- Type: IMPORT
Imports:
- Module: env
Field: __linear_memory
Kind: MEMORY
Memory:
Initial: 0x00000000
- Module: env
Field: __indirect_function_table
Kind: TABLE
Table:
ElemType: FUNCREF
Limits:
Initial: 0x00000000
- Type: FUNCTION
FunctionTypes: [ 0 ]
- Type: CODE
Relocations:
- Type: R_WASM_FUNCTION_INDEX_LEB
Index: 0
Offset: 0x00000004
Functions:
- Index: 0
Locals: []
Body: 1080808080000B
- Type: CUSTOM
Name: linking
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION
Name: foo
Flags: [ VISIBILITY_HIDDEN ]
Function: 0
- Type: CUSTOM
Name: producers
Tools:
- Name: clang
Version: 9.0.0
...