xref: /aosp_15_r20/external/llvm/test/tools/sanstats/elf.test (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: yaml2obj %s > %t1.o
2*9880d681SAndroid Build Coastguard Worker# RUN: yaml2obj %s > %t2.o
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x04" > %t.stats
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker# RUN: echo -n "%t1.o" >> %t.stats
7*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x00" >> %t.stats
8*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x01\x00\x00\x00\x01\x00\x00\x00" >> %t.stats
9*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x11\x00\x00\x00\x02\x00\x00\x20" >> %t.stats
10*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x21\x00\x00\x00\x03\x00\x00\x40" >> %t.stats
11*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x01\x00\x00\x00\x04\x00\x00\x60" >> %t.stats
12*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x11\x00\x00\x00\x05\x00\x00\x80" >> %t.stats
13*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x21\x00\x00\x00\x06\x00\x00\xa0" >> %t.stats
14*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00" >> %t.stats
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker# RUN: echo -n "%t2.o" >> %t.stats
17*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x00" >> %t.stats
18*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x21\x00\x00\x00\x07\x00\x00\x00" >> %t.stats
19*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x11\x00\x00\x00\x08\x00\x00\x20" >> %t.stats
20*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x01\x00\x00\x00\x09\x00\x00\x40" >> %t.stats
21*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x21\x00\x00\x00\x0b\x00\x00\x60" >> %t.stats
22*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x11\x00\x00\x00\x0c\x00\x00\x80" >> %t.stats
23*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x01\x00\x00\x00\x0e\x00\x00\xa0" >> %t.stats
24*9880d681SAndroid Build Coastguard Worker# RUN: echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00" >> %t.stats
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker# RUN: sanstats %t.stats | FileCheck %s
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:1 f1 cfi-vcall 1
29*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-nvcall 2
30*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:3 f3 cfi-derived-cast 3
31*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:1 f1 cfi-unrelated-cast 4
32*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-icall 5
33*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:3 f3 <unknown> 6
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:3 f3 cfi-vcall 7
36*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-nvcall 8
37*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:1 f1 cfi-derived-cast 9
38*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:3 f3 cfi-unrelated-cast 11
39*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:2 f2 cfi-icall 12
40*9880d681SAndroid Build Coastguard Worker# CHECK: /tmp{{[/\\]}}f.c:1 f1 <unknown> 14
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker--- !ELF
43*9880d681SAndroid Build Coastguard WorkerFileHeader:
44*9880d681SAndroid Build Coastguard Worker  Class:           ELFCLASS64
45*9880d681SAndroid Build Coastguard Worker  Data:            ELFDATA2LSB
46*9880d681SAndroid Build Coastguard Worker  Type:            ET_REL
47*9880d681SAndroid Build Coastguard Worker  Machine:         EM_X86_64
48*9880d681SAndroid Build Coastguard WorkerSections:
49*9880d681SAndroid Build Coastguard Worker  - Name:            .text
50*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
51*9880d681SAndroid Build Coastguard Worker    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
52*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000010
53*9880d681SAndroid Build Coastguard Worker    Content:         554889E55DC3662E0F1F840000000000554889E55DC3662E0F1F840000000000554889E55DC3
54*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_str
55*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
56*9880d681SAndroid Build Coastguard Worker    Flags:           [ SHF_MERGE, SHF_STRINGS ]
57*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
58*9880d681SAndroid Build Coastguard Worker    Content:         636C616E672076657273696F6E20332E382E3020287472756E6B203235353339332920286C6C766D2F7472756E6B203235353734352900662E63002F746D7000663100663200663300
59*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_loc
60*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
61*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
62*9880d681SAndroid Build Coastguard Worker    Content:         ''
63*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_abbrev
64*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
65*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
66*9880d681SAndroid Build Coastguard Worker    Content:         011101250E1305030E10171B0E110112060000022E00110112064018030E3A0B3B0B3F19000000
67*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_info
68*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
69*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
70*9880d681SAndroid Build Coastguard Worker    Content:         660000000400000000000801000000000C0000000000000000000000000000000000000000002600000002000000000000000006000000015600000000010102000000000000000006000000015600000000010202000000000000000006000000015600000000010300
71*9880d681SAndroid Build Coastguard Worker  - Name:            .rela.debug_info
72*9880d681SAndroid Build Coastguard Worker    Type:            SHT_RELA
73*9880d681SAndroid Build Coastguard Worker    Link:            .symtab
74*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000008
75*9880d681SAndroid Build Coastguard Worker    Info:            .debug_info
76*9880d681SAndroid Build Coastguard Worker    Relocations:
77*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000006
78*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
79*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
80*9880d681SAndroid Build Coastguard Worker      - Offset:          0x000000000000000C
81*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
82*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
83*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000012
84*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
85*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
86*9880d681SAndroid Build Coastguard Worker        Addend:          55
87*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000016
88*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
89*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
90*9880d681SAndroid Build Coastguard Worker      - Offset:          0x000000000000001A
91*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
92*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
93*9880d681SAndroid Build Coastguard Worker        Addend:          59
94*9880d681SAndroid Build Coastguard Worker      - Offset:          0x000000000000001E
95*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
96*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_64
97*9880d681SAndroid Build Coastguard Worker      - Offset:          0x000000000000002B
98*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
99*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_64
100*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000039
101*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
102*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
103*9880d681SAndroid Build Coastguard Worker        Addend:          64
104*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000040
105*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
106*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_64
107*9880d681SAndroid Build Coastguard Worker        Addend:          16
108*9880d681SAndroid Build Coastguard Worker      - Offset:          0x000000000000004E
109*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
110*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
111*9880d681SAndroid Build Coastguard Worker        Addend:          67
112*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000055
113*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
114*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_64
115*9880d681SAndroid Build Coastguard Worker        Addend:          32
116*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000063
117*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
118*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
119*9880d681SAndroid Build Coastguard Worker        Addend:          70
120*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_ranges
121*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
122*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
123*9880d681SAndroid Build Coastguard Worker    Content:         ''
124*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_pubnames
125*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
126*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
127*9880d681SAndroid Build Coastguard Worker    Content:         230000000200000000006A0000002A0000006631003F0000006632005400000066330000000000
128*9880d681SAndroid Build Coastguard Worker  - Name:            .rela.debug_pubnames
129*9880d681SAndroid Build Coastguard Worker    Type:            SHT_RELA
130*9880d681SAndroid Build Coastguard Worker    Link:            .symtab
131*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000008
132*9880d681SAndroid Build Coastguard Worker    Info:            .debug_pubnames
133*9880d681SAndroid Build Coastguard Worker    Relocations:
134*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000006
135*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
136*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_32
137*9880d681SAndroid Build Coastguard Worker  - Name:            .comment
138*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
139*9880d681SAndroid Build Coastguard Worker    Flags:           [ SHF_MERGE, SHF_STRINGS ]
140*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
141*9880d681SAndroid Build Coastguard Worker    Content:         00636C616E672076657273696F6E20332E382E3020287472756E6B203235353339332920286C6C766D2F7472756E6B203235353734352900
142*9880d681SAndroid Build Coastguard Worker  - Name:            .note.GNU-stack
143*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
144*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
145*9880d681SAndroid Build Coastguard Worker    Content:         ''
146*9880d681SAndroid Build Coastguard Worker  - Name:            .eh_frame
147*9880d681SAndroid Build Coastguard Worker    Type:            SHT_X86_64_UNWIND
148*9880d681SAndroid Build Coastguard Worker    Flags:           [ SHF_ALLOC ]
149*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000008
150*9880d681SAndroid Build Coastguard Worker    Content:         1400000000000000017A5200017810011B0C070890010000180000001C000000000000000600000000410E108602430D060000001800000038000000000000000600000000410E108602430D060000001C00000054000000000000000600000000410E108602430D0600000000000000
151*9880d681SAndroid Build Coastguard Worker  - Name:            .rela.eh_frame
152*9880d681SAndroid Build Coastguard Worker    Type:            SHT_RELA
153*9880d681SAndroid Build Coastguard Worker    Link:            .symtab
154*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000008
155*9880d681SAndroid Build Coastguard Worker    Info:            .eh_frame
156*9880d681SAndroid Build Coastguard Worker    Relocations:
157*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000020
158*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
159*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_PC32
160*9880d681SAndroid Build Coastguard Worker      - Offset:          0x000000000000003C
161*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
162*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_PC32
163*9880d681SAndroid Build Coastguard Worker        Addend:          16
164*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000058
165*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
166*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_PC32
167*9880d681SAndroid Build Coastguard Worker        Addend:          32
168*9880d681SAndroid Build Coastguard Worker  - Name:            .debug_line
169*9880d681SAndroid Build Coastguard Worker    Type:            SHT_PROGBITS
170*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000001
171*9880d681SAndroid Build Coastguard Worker    Content:         4300000002001A0000000101FB0E0D00010101010000000100000100662E630000000000000902000000000000000001050C0A4A0500BB050C0A4A0500BB050C0A4A0202000101
172*9880d681SAndroid Build Coastguard Worker  - Name:            .rela.debug_line
173*9880d681SAndroid Build Coastguard Worker    Type:            SHT_RELA
174*9880d681SAndroid Build Coastguard Worker    Link:            .symtab
175*9880d681SAndroid Build Coastguard Worker    AddressAlign:    0x0000000000000008
176*9880d681SAndroid Build Coastguard Worker    Info:            .debug_line
177*9880d681SAndroid Build Coastguard Worker    Relocations:
178*9880d681SAndroid Build Coastguard Worker      - Offset:          0x0000000000000027
179*9880d681SAndroid Build Coastguard Worker        Symbol:          ''
180*9880d681SAndroid Build Coastguard Worker        Type:            R_X86_64_64
181*9880d681SAndroid Build Coastguard WorkerSymbols:
182*9880d681SAndroid Build Coastguard Worker  Local:
183*9880d681SAndroid Build Coastguard Worker    - Name:            f.c
184*9880d681SAndroid Build Coastguard Worker      Type:            STT_FILE
185*9880d681SAndroid Build Coastguard Worker    - Type:            STT_SECTION
186*9880d681SAndroid Build Coastguard Worker      Section:         .text
187*9880d681SAndroid Build Coastguard Worker    - Type:            STT_SECTION
188*9880d681SAndroid Build Coastguard Worker      Section:         .debug_str
189*9880d681SAndroid Build Coastguard Worker    - Type:            STT_SECTION
190*9880d681SAndroid Build Coastguard Worker      Section:         .debug_abbrev
191*9880d681SAndroid Build Coastguard Worker    - Type:            STT_SECTION
192*9880d681SAndroid Build Coastguard Worker      Section:         .debug_info
193*9880d681SAndroid Build Coastguard Worker    - Type:            STT_SECTION
194*9880d681SAndroid Build Coastguard Worker      Section:         .debug_line
195*9880d681SAndroid Build Coastguard Worker  Global:
196*9880d681SAndroid Build Coastguard Worker    - Name:            f1
197*9880d681SAndroid Build Coastguard Worker      Type:            STT_FUNC
198*9880d681SAndroid Build Coastguard Worker      Section:         .text
199*9880d681SAndroid Build Coastguard Worker      Size:            0x0000000000000006
200*9880d681SAndroid Build Coastguard Worker    - Name:            f2
201*9880d681SAndroid Build Coastguard Worker      Type:            STT_FUNC
202*9880d681SAndroid Build Coastguard Worker      Section:         .text
203*9880d681SAndroid Build Coastguard Worker      Value:           0x0000000000000010
204*9880d681SAndroid Build Coastguard Worker      Size:            0x0000000000000006
205*9880d681SAndroid Build Coastguard Worker    - Name:            f3
206*9880d681SAndroid Build Coastguard Worker      Type:            STT_FUNC
207*9880d681SAndroid Build Coastguard Worker      Section:         .text
208*9880d681SAndroid Build Coastguard Worker      Value:           0x0000000000000020
209*9880d681SAndroid Build Coastguard Worker      Size:            0x0000000000000006
210*9880d681SAndroid Build Coastguard Worker...
211