[rtsan] Add fork/execve interceptors (#117198)
[llvm-project.git] / llvm / test / MC / ELF / cgprofile.s
blobf8469ddc68877368870116ce52c36512711c2c71
1 # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --symbols --sd --cg-profile - | FileCheck %s
3 .section .test,"aw",@progbits
4 a: .word b
6 .cg_profile a, b, 32
7 .cg_profile freq, a, 11
8 .cg_profile late, late2, 20
9 .cg_profile .L.local, b, 42
11 .globl late
12 late:
13 late2: .word 0
14 late3:
15 .L.local:
17 # CHECK: Name: .llvm.call-graph-profile
18 # CHECK-NEXT: Type: SHT_LLVM_CALL_GRAPH_PROFILE (0x6FFF4C09)
19 # CHECK-NEXT: Flags [ (0x80000000)
20 # CHECK-NEXT: SHF_EXCLUDE (0x80000000)
21 # CHECK-NEXT: ]
22 # CHECK-NEXT: Address:
23 # CHECK-NEXT: Offset:
24 # CHECK-NEXT: Size: 32
25 # CHECK-NEXT: Link: 7
26 # CHECK-NEXT: Info: 0
27 # CHECK-NEXT: AddressAlignment: 1
28 # CHECK-NEXT: EntrySize: 8
29 # CHECK-NEXT: SectionData (
30 # CHECK-NEXT: 0000: 20000000 00000000 0B000000 00000000
31 # CHECK-NEXT: 0010: 14000000 00000000 2A000000 00000000
32 # CHECK-NEXT: )
34 # CHECK: Name: .rel.llvm.call-graph-profile (28)
35 # CHECK-NEXT: Type: SHT_REL (0x9)
36 # CHECK-NEXT: Flags [ (0x40)
37 # CHECK-NEXT: SHF_INFO_LINK
38 # CHECK-NEXT: ]
39 # CHECK-NEXT: Address: 0x0
40 # CHECK-NEXT: Offset: 0x140
41 # CHECK-NEXT: Size: 128
42 # CHECK-NEXT: Link: 7
43 # CHECK-NEXT: Info: 5
44 # CHECK-NEXT: AddressAlignment: 8
45 # CHECK-NEXT: EntrySize: 16
46 # CHECK-NEXT: SectionData (
47 # CHECK-NEXT: 0000: 00000000 00000000 00000000 02000000
48 # CHECK-NEXT: 0010: 00000000 00000000 00000000 05000000
49 # CHECK-NEXT: 0020: 08000000 00000000 00000000 07000000
50 # CHECK-NEXT: 0030: 08000000 00000000 00000000 02000000
51 # CHECK-NEXT: 0040: 10000000 00000000 00000000 06000000
52 # CHECK-NEXT: 0050: 10000000 00000000 00000000 03000000
53 # CHECK-NEXT: 0060: 18000000 00000000 00000000 01000000
54 # CHECK-NEXT: 0070: 18000000 00000000 00000000 05000000
55 # CHECK-NEXT: )
57 # CHECK: Symbols [
58 # CHECK: Name: a
59 # CHECK-NEXT: Value:
60 # CHECK-NEXT: Size:
61 # CHECK-NEXT: Binding: Local
62 # CHECK-NEXT: Type:
63 # CHECK-NEXT: Other:
64 # CHECK-NEXT: Section: .test
65 # CHECK: Name: late2
66 # CHECK-NEXT: Value:
67 # CHECK-NEXT: Size:
68 # CHECK-NEXT: Binding: Local
69 # CHECK-NEXT: Type:
70 # CHECK-NEXT: Other:
71 # CHECK-NEXT: Section: .test
72 # CHECK: Name: late3
73 # CHECK-NEXT: Value:
74 # CHECK-NEXT: Size:
75 # CHECK-NEXT: Binding: Local
76 # CHECK-NEXT: Type:
77 # CHECK-NEXT: Other:
78 # CHECK-NEXT: Section: .test
79 # CHECK: Name: b
80 # CHECK-NEXT: Value:
81 # CHECK-NEXT: Size:
82 # CHECK-NEXT: Binding: Global
83 # CHECK-NEXT: Type:
84 # CHECK-NEXT: Other:
85 # CHECK-NEXT: Section: Undefined
86 # CHECK: Name: late
87 # CHECK-NEXT: Value:
88 # CHECK-NEXT: Size:
89 # CHECK-NEXT: Binding: Global
90 # CHECK-NEXT: Type:
91 # CHECK-NEXT: Other:
92 # CHECK-NEXT: Section: .test
93 # CHECK: Name: freq
94 # CHECK-NEXT: Value:
95 # CHECK-NEXT: Size:
96 # CHECK-NEXT: Binding: Global
97 # CHECK-NEXT: Type:
98 # CHECK-NEXT: Other:
99 # CHECK-NEXT: Section: Undefined
100 # CHECK: CGProfile [
101 # CHECK-NEXT: CGProfileEntry {
102 # CHECK-NEXT: From: a
103 # CHECK-NEXT: To: b
104 # CHECK-NEXT: Weight: 32
105 # CHECK-NEXT: }
106 # CHECK-NEXT: CGProfileEntry {
107 # CHECK-NEXT: From: freq
108 # CHECK-NEXT: To: a
109 # CHECK-NEXT: Weight: 11
110 # CHECK-NEXT: }
111 # CHECK-NEXT: CGProfileEntry {
112 # CHECK-NEXT: From: late
113 # CHECK-NEXT: To: late2
114 # CHECK-NEXT: Weight: 20
115 # CHECK-NEXT: }
116 # CHECK-NEXT: CGProfileEntry {
117 # CHECK-NEXT: From:
118 # CHECK-NEXT: To: b
119 # CHECK-NEXT: Weight: 42
120 # CHECK-NEXT: }
121 # CHECK-NEXT: ]