xref: /aosp_15_r20/external/llvm/test/tools/llvm-readobj/elf-versioninfo.test (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// Test that llvm-readobj dumps version info tags correctly.
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -dynamic-table -V %p/Inputs/verdef.elf-x86-64 | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard WorkerCHECK: 0x000000006FFFFFF0 VERSYM               0x24C
6*9880d681SAndroid Build Coastguard WorkerCHECK: 0x000000006FFFFFFC VERDEF               0x25C
7*9880d681SAndroid Build Coastguard WorkerCHECK: 0x000000006FFFFFFD VERDEFNUM            3
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard WorkerCHECK: Version symbols {
10*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Section Name: .gnu.version (20)
11*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Address: 0x24C
12*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Offset: 0x24C
13*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Link: 1
14*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Symbols [
15*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
16*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 0
17*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: @
18*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
19*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
20*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 1
21*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: _end@
22*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
23*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
24*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 1
25*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: _edata@
26*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
27*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
28*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 3
29*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: goo@@VERSION2
30*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
31*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
32*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 1
33*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: __bss_start@
34*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
35*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
36*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 2
37*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: foo@@VERSION1
38*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
39*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
40*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 2
41*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: VERSION1@@VERSION1
42*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
43*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Symbol {
44*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Version: 3
45*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:       Name: VERSION2@@VERSION2
46*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     }
47*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   ]
48*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: }
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard WorkerCHECK:      SHT_GNU_verdef {
51*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Definition {
52*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Version: 1
53*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Flags: Base (0x1)
54*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Index: 1
55*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Hash: 430712
56*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Name: blah
57*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   }
58*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Definition {
59*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Version: 1
60*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Flags: 0x0
61*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Index: 2
62*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Hash: 175630257
63*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Name: VERSION1
64*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   }
65*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   Definition {
66*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Version: 1
67*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Flags: 0x0
68*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Index: 3
69*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Hash: 175630258
70*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Name: VERSION2
71*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:     Predecessor: VERSION1
72*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT:   }
73*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: }
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -V %p/Inputs/verneed.elf-x86-64 | FileCheck %s --check-prefix=VERNEED
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard WorkerVERNEED:       SHT_GNU_verneed {
78*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:   Dependency {
79*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Version: 1
80*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Count: 2
81*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     FileName: verneed1.so.0
82*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Entry {
83*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Hash: 1938
84*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Flags: 0x0
85*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Index: 3
86*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Name: v2
87*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     }
88*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Entry {
89*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Hash: 1939
90*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Flags: 0x0
91*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Index: 2
92*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Name: v3
93*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     }
94*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:   }
95*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:   Dependency {
96*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Version: 1
97*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Count: 1
98*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     FileName: verneed2.so.0
99*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     Entry {
100*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Hash: 1937
101*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Flags: 0x0
102*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Index: 4
103*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:       Name: v1
104*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:     }
105*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT:   }
106*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: }
107