Add a test for ICF and REL relocations.
authorRui Ueyama <ruiu@google.com>
Tue, 25 Apr 2017 17:19:15 +0000 (17:19 +0000)
committerRui Ueyama <ruiu@google.com>
Tue, 25 Apr 2017 17:19:15 +0000 (17:19 +0000)
llvm-svn: 301332

lld/test/ELF/icf-i386.s [new file with mode: 0644]

diff --git a/lld/test/ELF/icf-i386.s b/lld/test/ELF/icf-i386.s
new file mode 100644 (file)
index 0000000..292883e
--- /dev/null
@@ -0,0 +1,25 @@
+# REQUIRES: x86
+# This test is to make sure that we can handle implicit addends properly.
+
+# RUN: llvm-mc -filetype=obj -triple=i386-unknown-linux %s -o %t
+# RUN: ld.lld %t -o %t2 --icf=all --verbose | FileCheck %s
+
+# CHECK:     selected .text.f1
+# CHECK:       removed .text.f2
+# CHECK-NOT:   removed .text.f3
+
+.globl _start, f1, f2, f3
+_start:
+  ret
+
+.section .text.f1, "ax"
+f1:
+  movl $42, 4(%edi)
+
+.section .text.f2, "ax"
+f2:
+  movl $42, 4(%edi)
+
+.section .text.f3, "ax"
+f3:
+  movl $42, 8(%edi)