# Verify that lld-link outputs sorted base relocations, even if the input file has unsorted entries. # RUN: yaml2obj %s -o %t.obj # RUN: lld-link -dll -entry:sym -machine:amd64 -out:%t.dll %t.obj # RUN: llvm-readobj --coff-basereloc %t.dll | FileCheck %s # CHECK: BaseReloc [ # CHECK-NEXT: Entry { # CHECK-NEXT: Type: DIR64 # CHECK-NEXT: Address: 0x2000 # CHECK-NEXT: } # CHECK-NEXT: Entry { # CHECK-NEXT: Type: DIR64 # CHECK-NEXT: Address: 0x2008 # CHECK-NEXT: } # CHECK-NEXT: Entry { # CHECK-NEXT: Type: DIR64 # CHECK-NEXT: Address: 0x2010 # CHECK-NEXT: } --- !COFF header: Machine: IMAGE_FILE_MACHINE_AMD64 Characteristics: [ ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] Alignment: 4 SectionData: C3 SizeOfRawData: 1 - Name: .test Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] Alignment: 1 SectionData: '000000000000000000000000000000000000000000000000' SizeOfRawData: 24 Relocations: - VirtualAddress: 16 SymbolName: sym Type: IMAGE_REL_AMD64_ADDR64 - VirtualAddress: 0 SymbolName: sym Type: IMAGE_REL_AMD64_ADDR64 - VirtualAddress: 8 SymbolName: sym Type: IMAGE_REL_AMD64_ADDR64 symbols: - Name: .text Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 1 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 40735498 Number: 1 - Name: .test Value: 0 SectionNumber: 2 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 24 NumberOfRelocations: 3 NumberOfLinenumbers: 0 CheckSum: 0 Number: 2 - Name: sym Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL ...