aboutsummaryrefslogtreecommitdiff
path: root/test/ELF/icf9.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/ELF/icf9.s')
-rw-r--r--test/ELF/icf9.s22
1 files changed, 17 insertions, 5 deletions
diff --git a/test/ELF/icf9.s b/test/ELF/icf9.s
index c5a532915cc7..de6db60f9684 100644
--- a/test/ELF/icf9.s
+++ b/test/ELF/icf9.s
@@ -2,19 +2,31 @@
### Make sure that we do not merge data.
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
-# RUN: ld.lld %t -o %t2 --icf=all --verbose | FileCheck %s
+# RUN: ld.lld %t -o %t2 --icf=all --verbose 2>&1 | FileCheck %s
+# RUN: llvm-readelf -S -W %t2 | FileCheck --check-prefix=SEC %s
-# CHECK-NOT: selected .data.d1
-# CHECK-NOT: selected .data.d2
+# SEC: .rodata PROGBITS 0000000000200120 000120 000002 00 A 0 0 1
+
+# CHECK-NOT: selected .rodata.d1
+# CHECK-NOT: selected .rodata.d2
+
+# We do merge rodata if passed --icf-data
+# RUN: ld.lld %t -o %t2 --icf=all --verbose --icf-data 2>&1 | FileCheck --check-prefix=DATA %s
+# RUN: llvm-readelf -S -W %t2 | FileCheck --check-prefix=DATA-SEC %s
+
+# DATA: selected .rodata.d1
+# DATA: removed .rodata.d2
+
+# DATA-SEC: .rodata PROGBITS 0000000000200120 000120 000001 00 A 0 0 1
.globl _start, d1, d2
_start:
ret
-.section .data.f1, "a"
+.section .rodata.d1, "a"
d1:
.byte 1
-.section .data.f2, "a"
+.section .rodata.d2, "a"
d2:
.byte 1