# REQUIRES: aarch64 # RUN: yaml2obj < %s > %t.obj # RUN: llvm-objdump -d %t.obj | FileCheck %s -check-prefix BEFORE # RUN: lld-link /entry:main /subsystem:console /out:%t.exe %t.obj %p/Inputs/library-arm64.lib %p/Inputs/library2-arm64.lib # RUN: llvm-objdump -d %t.exe | FileCheck %s -check-prefix AFTER # RUN: llvm-readobj -coff-imports %t.exe | FileCheck %s -check-prefix IMPORTS # BEFORE: Disassembly of section .text: # BEFORE: 0: 00 00 00 94 bl #0 # BEFORE: 4: 00 00 00 94 bl #0 # BEFORE: 8: c0 03 5f d6 ret # AFTER: Disassembly of section .text: # AFTER: 140001000: 03 00 00 94 bl #12 # AFTER: 140001004: 05 00 00 94 bl #20 # AFTER: 140001008: c0 03 5f d6 ret # AFTER: 14000100c: 10 00 00 b0 adrp x16, #4096 # AFTER: 140001010: 10 32 40 f9 ldr x16, [x16, #96] # AFTER: 140001014: 00 02 1f d6 br x16 # AFTER: 140001018: 10 00 00 b0 adrp x16, #4096 # AFTER: 14000101c: 10 3a 40 f9 ldr x16, [x16, #112] # AFTER: 140001020: 00 02 1f d6 br x16 # IMPORTS: Import { # IMPORTS: Name: library.dll # IMPORTS: ImportLookupTableRVA: 0x2040 # IMPORTS: ImportAddressTableRVA: 0x2060 # IMPORTS: Symbol: function (2) # IMPORTS: } # IMPORTS: Import { # IMPORTS: Name: library2.dll # IMPORTS: ImportLookupTableRVA: 0x2050 # IMPORTS: ImportAddressTableRVA: 0x2070 # IMPORTS: Symbol: function2 (0) # IMPORTS: } --- !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: 0000009400000094C0035FD6 Relocations: - VirtualAddress: 0 SymbolName: function Type: IMAGE_REL_ARM64_BRANCH26 - VirtualAddress: 4 SymbolName: function2 Type: IMAGE_REL_ARM64_BRANCH26 symbols: - Name: .text Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 12 NumberOfRelocations: 2 NumberOfLinenumbers: 0 CheckSum: 1438860354 Number: 1 - Name: main Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL - Name: function Value: 0 SectionNumber: 0 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL - Name: function2 Value: 0 SectionNumber: 0 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL ...