annotate lld/test/ELF/gc-sections-lsda.s @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
1 # REQUIRES: x86
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
2 # RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
3
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
4 ## Discard an unused .gcc_except_table in a COMDAT group or having SHF_LINK_ORDER
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
5 ## if the associated text section is discarded.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
6
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
7 # RUN: ld.lld --gc-sections --print-gc-sections -u _Z3foov %t.o -o /dev/null | \
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
8 # RUN: FileCheck %s --implicit-check-not=.gcc_except_table
150
anatofuz
parents:
diff changeset
9
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
10 # CHECK: removing unused section {{.*}}.o:(.text._Z6comdatv)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
11 # CHECK-NEXT: removing unused section {{.*}}.o:(.text._Z9linkorderv)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
12 # CHECK-NEXT: removing unused section {{.*}}.o:(.gcc_except_table._Z6comdatv)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
13 # CHECK-NEXT: removing unused section {{.*}}.o:(.gcc_except_table._Z9linkorderv)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
14
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
15 ## An unused non-group non-SHF_LINK_ORDER .gcc_except_table is not discarded.
150
anatofuz
parents:
diff changeset
16
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
17 # RUN: ld.lld --gc-sections --print-gc-sections -u _Z6comdatv -u _Z9linkorderv %t.o -o /dev/null | \
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
18 # RUN: FileCheck /dev/null --implicit-check-not=.gcc_except_table
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
20 ## If the text sections are live, the .gcc_except_table sections are retained as
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
21 ## well because they are referenced by .eh_frame pieces.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
22
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
23 # RUN: ld.lld --gc-sections --print-gc-sections -u _Z3foov -u _Z6comdatv -u _Z9linkorderv %t.o -o /dev/null | \
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
24 # RUN: FileCheck %s --check-prefix=KEEP
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
25
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
26 # KEEP-NOT: .gcc_except_table
150
anatofuz
parents:
diff changeset
27
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
28 .section .text._Z3foov,"ax",@progbits
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
29 .globl _Z3foov
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
30 _Z3foov:
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
31 .cfi_startproc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
32 ret
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
33 .cfi_lsda 0x1b,.Lexception0
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
34 .cfi_endproc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
35
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
36 .section .text._Z6comdatv,"axG",@progbits,_Z6comdatv,comdat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
37 .globl _Z6comdatv
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
38 _Z6comdatv:
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
39 .cfi_startproc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
40 ret
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
41 .cfi_lsda 0x1b,.Lexception1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
42 .cfi_endproc
150
anatofuz
parents:
diff changeset
43
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
44 .section .text._Z9linkorderv,"ax",@progbits
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
45 .globl _Z9linkorderv
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
46 _Z9linkorderv:
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
47 .cfi_startproc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
48 ret
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
49 .cfi_lsda 0x1b,.Lexception2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
50 .cfi_endproc
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
51
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
52 .section .gcc_except_table._Z3foov,"a",@progbits
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
53 .Lexception0:
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
54 .byte 255
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
55
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
56 .section .gcc_except_table._Z6comdatv,"aG",@progbits,_Z6comdatv,comdat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
57 .Lexception1:
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
58 .byte 255
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
59
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
60 .section .gcc_except_table._Z9linkorderv,"ao",@progbits,_Z9linkorderv
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
61 .Lexception2:
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
62 .byte 255