]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/ELF/icf-merge.s
Vendor import of lld trunk r338150:
[FreeBSD/FreeBSD.git] / test / ELF / icf-merge.s
1 # REQUIRES: x86
2
3 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
4 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-merge.s -o %t1
5 # RUN: ld.lld %t %t1 -o /dev/null --icf=all --print-icf-sections | FileCheck %s
6
7 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-merge2.s -o %t2
8 # RUN: ld.lld %t %t2 -o %t3.out --icf=all --print-icf-sections | FileCheck --check-prefix=NOMERGE %s
9
10 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-merge3.s -o %t3
11 # RUN: ld.lld %t %t3 -o %t3.out --icf=all --print-icf-sections | FileCheck --check-prefix=NOMERGE %s
12
13 # CHECK: selected section {{.*}}:(.text.f1)
14 # CHECK:   removing identical section {{.*}}:(.text.f2)
15
16 # NOMERGE-NOT: selected section {{.*}}:(.text.f)
17
18 .section .rodata.str,"aMS",@progbits,1
19 foo:
20 .asciz "foo"
21 .asciz "string 1"
22 .asciz "string 2"
23
24 .section .text.f1,"ax"
25 .globl f1
26 f1:
27 lea foo+42(%rip), %rax