blob: d5affe11b2189b1811ccb3272294c3316d9e2de7 [file] [edit]
# 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
...