mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
9ba095bc3f
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
61 lines
1.7 KiB
YAML
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
|
|
...
|