diff options
-rw-r--r-- | lld/test/COFF/Inputs/icf1.yaml | 43 | ||||
-rw-r--r-- | lld/test/COFF/Inputs/icf2.yaml | 40 | ||||
-rw-r--r-- | lld/test/COFF/Inputs/icf3.yaml | 40 | ||||
-rw-r--r-- | lld/test/COFF/Inputs/icf5.yaml | 30 | ||||
-rw-r--r-- | lld/test/COFF/icf-simple.test (renamed from lld/test/COFF/Inputs/icf4.yaml) | 53 | ||||
-rw-r--r-- | lld/test/COFF/icf.test | 17 |
6 files changed, 33 insertions, 190 deletions
diff --git a/lld/test/COFF/Inputs/icf1.yaml b/lld/test/COFF/Inputs/icf1.yaml deleted file mode 100644 index c3edde05aa2..00000000000 --- a/lld/test/COFF/Inputs/icf1.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -header: - Machine: IMAGE_FILE_MACHINE_AMD64 - Characteristics: [] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 0000000000000000 - Relocations: - - VirtualAddress: 0 - SymbolName: foo - Type: IMAGE_REL_AMD64_REL32 - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 00000000 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 8 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 0 - Number: 0 - Selection: IMAGE_COMDAT_SELECT_ANY - - Name: main - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: foo - Value: 0 - SectionNumber: 2 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL diff --git a/lld/test/COFF/Inputs/icf2.yaml b/lld/test/COFF/Inputs/icf2.yaml deleted file mode 100644 index 6a27c5c9622..00000000000 --- a/lld/test/COFF/Inputs/icf2.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -header: - Machine: IMAGE_FILE_MACHINE_AMD64 - Characteristics: [] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 0000000000000000 - Relocations: - - VirtualAddress: 0 - SymbolName: foo - Type: IMAGE_REL_AMD64_REL32 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 8 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 0 - Number: 0 - Selection: IMAGE_COMDAT_SELECT_ANY - # icf2 is identical with main - - Name: icf2 - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: foo - Value: 0 - SectionNumber: 0 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL diff --git a/lld/test/COFF/Inputs/icf3.yaml b/lld/test/COFF/Inputs/icf3.yaml deleted file mode 100644 index 6981a877ebe..00000000000 --- a/lld/test/COFF/Inputs/icf3.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -header: - Machine: IMAGE_FILE_MACHINE_AMD64 - Characteristics: [] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 0000000000000000 - Relocations: - - VirtualAddress: 4 - SymbolName: foo - Type: IMAGE_REL_AMD64_REL32 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 8 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 0 - Number: 0 - Selection: IMAGE_COMDAT_SELECT_ANY - # icf3 is *not* identical with main because its relocation is different - - Name: icf3 - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: foo - Value: 0 - SectionNumber: 0 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL diff --git a/lld/test/COFF/Inputs/icf5.yaml b/lld/test/COFF/Inputs/icf5.yaml deleted file mode 100644 index 76638741afd..00000000000 --- a/lld/test/COFF/Inputs/icf5.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -header: - Machine: IMAGE_FILE_MACHINE_AMD64 - Characteristics: [] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 0000000000000000 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 8 - NumberOfRelocations: 0 - NumberOfLinenumbers: 0 - CheckSum: 0 - Number: 0 - Selection: IMAGE_COMDAT_SELECT_ANY - # icf5 is *not* identical with main because its symbol value is different - - Name: icf5 - Value: 5 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL diff --git a/lld/test/COFF/Inputs/icf4.yaml b/lld/test/COFF/icf-simple.test index 599d2e6ecac..22441b3ef97 100644 --- a/lld/test/COFF/Inputs/icf4.yaml +++ b/lld/test/COFF/icf-simple.test @@ -1,47 +1,60 @@ +# RUN: yaml2obj < %s > %t.obj +# RUN: lld-link /entry:foo /out:%t.exe /subsystem:console /include:bar \ +# RUN: /opt:lldicf /verbose %t.obj > %t.log 2>&1 +# RUN: FileCheck %s < %t.log + +# CHECK: Replaced bar + --- header: Machine: IMAGE_FILE_MACHINE_AMD64 Characteristics: [] sections: - - Name: .text + - Name: '.text$mn' Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] Alignment: 16 - SectionData: 0000000000000000 - - Name: .assoc + SectionData: 4883EC28E8000000004883C428C3 + - Name: '.text$mn' Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] Alignment: 16 - SectionData: 0000000000000000 + SectionData: 4883EC28E8000000004883C428C3 symbols: - - Name: .text + - Name: '.text$mn' Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: - Length: 8 + Length: 14 NumberOfRelocations: 0 NumberOfLinenumbers: 0 - CheckSum: 0 + CheckSum: 1682752513 Number: 0 - Selection: IMAGE_COMDAT_SELECT_ANY - # icf4 is *not* identical with main because it has an associative section - - Name: icf4 - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: .assoc + Selection: IMAGE_COMDAT_SELECT_NODUPLICATES + - Name: '.text$mn' Value: 0 SectionNumber: 2 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: - Length: 8 + Length: 14 NumberOfRelocations: 0 NumberOfLinenumbers: 0 - CheckSum: 0 - Number: 1 - Selection: IMAGE_COMDAT_SELECT_ASSOCIATIVE + CheckSum: 1682752513 + Number: 0 + Selection: IMAGE_COMDAT_SELECT_NODUPLICATES + - Name: foo + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_FUNCTION + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + - Name: bar + Value: 0 + SectionNumber: 2 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_FUNCTION + StorageClass: IMAGE_SYM_CLASS_EXTERNAL +... diff --git a/lld/test/COFF/icf.test b/lld/test/COFF/icf.test deleted file mode 100644 index 670cff40bc4..00000000000 --- a/lld/test/COFF/icf.test +++ /dev/null @@ -1,17 +0,0 @@ -# RUN: yaml2obj < %p/Inputs/icf1.yaml > %t1.obj -# RUN: yaml2obj < %p/Inputs/icf2.yaml > %t2.obj -# RUN: yaml2obj < %p/Inputs/icf3.yaml > %t3.obj -# RUN: yaml2obj < %p/Inputs/icf4.yaml > %t4.obj -# RUN: yaml2obj < %p/Inputs/icf5.yaml > %t5.obj -# -# RUN: lld-link /out:%t.exe /entry:main \ -# RUN: %t1.obj %t2.obj %t3.obj %t4.obj %t5.obj \ -# RUN: /opt:lldicf /include:icf2 /include:icf3 /include:icf4 /include:icf5 \ -# RUN: /verbose >& %t.log -# RUN: FileCheck %s < %t.log - -CHECK-NOT: Replaced main -CHECK: Replaced icf2 -CHECK-NOT: Replaced icf3 -CHECK-NOT: Replaced icf4 -CHECK-NOT: Replaced icf5 |