# REQUIRES: aarch64 # RUN: yaml2obj %s -o %t.obj # RUN: llvm-objdump --no-print-imm-hex -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 --no-print-imm-hex -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-EMPTY: # BEFORE: 0: 94000000 bl 0x0 # BEFORE: 4: 94000000 bl 0x4 # BEFORE: 8: d65f03c0 ret # BEFORE: c: ff # AFTER: Disassembly of section .text: # AFTER-EMPTY: # AFTER: 140001000: 94000004 bl 0x140001010 # AFTER: 140001004: 94000006 bl 0x14000101c # AFTER: 140001008: d65f03c0 ret # AFTER: 14000100c: 000000ff # AFTER: 140001010: b0000010 adrp x16, 0x140002000 # AFTER: 140001014: f9403210 ldr x16, [x16, #96] # AFTER: 140001018: d61f0200 br x16 # AFTER: 14000101c: b0000010 adrp x16, 0x140002000 # AFTER: 140001020: f9403a10 ldr x16, [x16, #112] # AFTER: 140001024: d61f0200 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: 0000009400000094C0035FD6FF 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 ...