summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/test/COFF/Inputs/icf1.yaml43
-rw-r--r--lld/test/COFF/Inputs/icf2.yaml40
-rw-r--r--lld/test/COFF/Inputs/icf3.yaml40
-rw-r--r--lld/test/COFF/Inputs/icf5.yaml30
-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.test17
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
OpenPOWER on IntegriCloud