# RUN: yaml2obj < %s > %t.obj
#
# RUN: lld-link /out:%t.exe /entry:func1 /subsystem:console %t.obj
# RUN: llvm-objdump -s -section=.pdata %t.exe | FileCheck -check-prefix=PDATA %s

# PDATA: 00200000 2500a100 24200000 31002201

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_ARM64
  Characteristics: [  ]
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     ff4300d1f37b00a9f303012a00000094e003132a00000094f37b40a9ff430091c0035fd6f353bea9fe0b00f9f303012af403022a00000094e003132a00000094e003142a00000094fe0b40f9f353c2a8c0035fd6c0035fd6
    Relocations:
      - VirtualAddress:  12
        SymbolName:      func3
        Type:            IMAGE_REL_ARM64_BRANCH26
      - VirtualAddress:  20
        SymbolName:      func3
        Type:            IMAGE_REL_ARM64_BRANCH26
      - VirtualAddress:  52
        SymbolName:      func3
        Type:            IMAGE_REL_ARM64_BRANCH26
      - VirtualAddress:  60
        SymbolName:      func3
        Type:            IMAGE_REL_ARM64_BRANCH26
      - VirtualAddress:  68
        SymbolName:      func3
        Type:            IMAGE_REL_ARM64_BRANCH26
  - Name:            .pdata
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     0000000031002201000000002500a100
    Relocations:
      - VirtualAddress:  0
        SymbolName:      func2
        Type:            IMAGE_REL_ARM64_ADDR32NB
      - VirtualAddress:  8
        SymbolName:      func1
        Type:            IMAGE_REL_ARM64_ADDR32NB
symbols:
  - Name:            .text
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          57
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          1
  - Name:            .pdata
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          16
      NumberOfRelocations: 2
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          2
  - Name:            func1
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            func2
    Value:           36
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            func3
    Value:           84
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
