# REQUIRES: aarch64

# RUN: yaml2obj %s -o %t.obj
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 /implib:%t.lib
# RUN: llvm-objdump -p %t.dll | FileCheck %s
# RUN: llvm-objdump -r %t.lib | FileCheck %s --check-prefix=RELOCS

# CHECK:      Export Table:
# CHECK:      DLL name: export-arm64.yaml.tmp.dll
# CHECK:      Ordinal      RVA  Name
# CHECK-NEXT:       0        0
# CHECK-NEXT:       1   0x1008  exportfn1
# CHECK-NEXT:       2   0x1010  exportfn2
# CHECK-NEXT:       3   0x1018  exportfn3

# RELOCS: IMAGE_REL_ARM64_ADDR32NB .idata$6
# RELOCS: IMAGE_REL_ARM64_ADDR32NB .idata$4
# RELOCS: IMAGE_REL_ARM64_ADDR32NB .idata$5

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_ARM64
  Characteristics: []
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     e0031f2ac0035fd6e0031f2ac0035fd6e0031f2ac0035fd6e0031f2ac0035fd6
  - Name:            .drectve
    Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
    Alignment:       1
    SectionData:     2f6578706f72743a6578706f7274666e3300  # /export:exportfn3
symbols:
  - Name:            .text
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          32
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          1
  - Name:            _DllMainCRTStartup
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            exportfn1
    Value:           8
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            exportfn2
    Value:           16
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            exportfn3
    Value:           24
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
