# REQUIRES: aarch64 # RUN: yaml2obj < %s > %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 ...