# 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
        ParamTypes:      []
        ReturnTypes:     []
  - 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
...
