Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-readobj / dyn-symbols.test
blob0a80e5caa265030f74a37f9fa0f9ec8218413f9c
1 RUN: llvm-readobj --dyn-symbols %p/Inputs/dynamic-table-so.x86 | FileCheck %s
3 # Check the two-letter alias --dt is equivalent to the --dyn-symbols full flag
4 # name.
5 RUN: llvm-readobj --dt %p/Inputs/dynamic-table-so.x86 > %t.readobj-dt-alias
6 RUN: llvm-readobj --dyn-symbols %p/Inputs/dynamic-table-so.x86 > %t.readobj-dt-no-alias
7 RUN: diff %t.readobj-dt-alias %t.readobj-dt-no-alias
9 # CHECK:      DynamicSymbols [
10 # CHECK-NEXT:   Symbol {
11 # CHECK-NEXT:     Name:
12 # CHECK-NEXT:     Value: 0x0
13 # CHECK-NEXT:     Size: 0
14 # CHECK-NEXT:     Binding: Local
15 # CHECK-NEXT:     Type: None
16 # CHECK-NEXT:     Other: 0
17 # CHECK-NEXT:     Section: Undefined
18 # CHECK-NEXT:   }
19 # CHECK-NEXT:   Symbol {
20 # CHECK-NEXT:     Name:
21 # CHECK-NEXT:     Value: 0x618
22 # CHECK-NEXT:     Size: 0
23 # CHECK-NEXT:     Binding: Local
24 # CHECK-NEXT:     Type: Section
25 # CHECK-NEXT:     Other: 0
26 # CHECK-NEXT:     Section: .init
27 # CHECK-NEXT:   }
28 # CHECK-NEXT:   Symbol {
29 # CHECK-NEXT:     Name:
30 # CHECK-NEXT:     Value: 0x200DC0
31 # CHECK-NEXT:     Size: 0
32 # CHECK-NEXT:     Binding: Local
33 # CHECK-NEXT:     Type: Section
34 # CHECK-NEXT:     Other: 0
35 # CHECK-NEXT:     Section: .tbss
36 # CHECK-NEXT:   }
37 # CHECK-NEXT:   Symbol {
38 # CHECK-NEXT:     Name: _ITM_deregisterTMCloneTable{{ }}
39 # CHECK-NEXT:     Value: 0x0
40 # CHECK-NEXT:     Size: 0
41 # CHECK-NEXT:     Binding: Weak
42 # CHECK-NEXT:     Type: None
43 # CHECK-NEXT:     Other: 0
44 # CHECK-NEXT:     Section: Undefined
45 # CHECK-NEXT:   }
46 # CHECK-NEXT:   Symbol {
47 # CHECK-NEXT:     Name: puts@GLIBC_2.2.5{{ }}
48 # CHECK-NEXT:     Value: 0x0
49 # CHECK-NEXT:     Size: 0
50 # CHECK-NEXT:     Binding: Global
51 # CHECK-NEXT:     Type: Function
52 # CHECK-NEXT:     Other: 0
53 # CHECK-NEXT:     Section: Undefined
54 # CHECK-NEXT:   }
55 # CHECK-NEXT:   Symbol {
56 # CHECK-NEXT:     Name: __tls_get_addr@GLIBC_2.3{{ }}
57 # CHECK-NEXT:     Value: 0x0
58 # CHECK-NEXT:     Size: 0
59 # CHECK-NEXT:     Binding: Global
60 # CHECK-NEXT:     Type: Function
61 # CHECK-NEXT:     Other: 0
62 # CHECK-NEXT:     Section: Undefined
63 # CHECK-NEXT:   }
64 # CHECK-NEXT:   Symbol {
65 # CHECK-NEXT:     Name: __gmon_start__{{ }}
66 # CHECK-NEXT:     Value: 0x0
67 # CHECK-NEXT:     Size: 0
68 # CHECK-NEXT:     Binding: Weak
69 # CHECK-NEXT:     Type: None
70 # CHECK-NEXT:     Other: 0
71 # CHECK-NEXT:     Section: Undefined
72 # CHECK-NEXT:   }
73 # CHECK-NEXT:   Symbol {
74 # CHECK-NEXT:     Name: _Jv_RegisterClasses{{ }}
75 # CHECK-NEXT:     Value: 0x0
76 # CHECK-NEXT:     Size: 0
77 # CHECK-NEXT:     Binding: Weak
78 # CHECK-NEXT:     Type: None
79 # CHECK-NEXT:     Other: 0
80 # CHECK-NEXT:     Section: Undefined
81 # CHECK-NEXT:   }
82 # CHECK-NEXT:   Symbol {
83 # CHECK-NEXT:     Name: _ITM_registerTMCloneTable{{ }}
84 # CHECK-NEXT:     Value: 0x0
85 # CHECK-NEXT:     Size: 0
86 # CHECK-NEXT:     Binding: Weak
87 # CHECK-NEXT:     Type: None
88 # CHECK-NEXT:     Other: 0
89 # CHECK-NEXT:     Section: Undefined
90 # CHECK-NEXT:   }
91 # CHECK-NEXT:   Symbol {
92 # CHECK-NEXT:     Name: __cxa_finalize@GLIBC_2.2.5{{ }}
93 # CHECK-NEXT:     Value: 0x0
94 # CHECK-NEXT:     Size: 0
95 # CHECK-NEXT:     Binding: Weak
96 # CHECK-NEXT:     Type: Function
97 # CHECK-NEXT:     Other: 0
98 # CHECK-NEXT:     Section: Undefined
99 # CHECK-NEXT:   }
100 # CHECK-NEXT:   Symbol {
101 # CHECK-NEXT:     Name: _edata{{ }}
102 # CHECK-NEXT:     Value: 0x201030
103 # CHECK-NEXT:     Size: 0
104 # CHECK-NEXT:     Binding: Global
105 # CHECK-NEXT:     Type: None
106 # CHECK-NEXT:     Other: 0
107 # CHECK-NEXT:     Section: .data
108 # CHECK-NEXT:   }
109 # CHECK-NEXT:   Symbol {
110 # CHECK-NEXT:     Name: foo{{ }}
111 # CHECK-NEXT:     Value: 0x0
112 # CHECK-NEXT:     Size: 4
113 # CHECK-NEXT:     Binding: Global
114 # CHECK-NEXT:     Type: TLS
115 # CHECK-NEXT:     Other: 0
116 # CHECK-NEXT:     Section: .tbss
117 # CHECK-NEXT:   }
118 # CHECK-NEXT:   Symbol {
119 # CHECK-NEXT:     Name: _end{{ }}
120 # CHECK-NEXT:     Value: 0x201038
121 # CHECK-NEXT:     Size: 0
122 # CHECK-NEXT:     Binding: Global
123 # CHECK-NEXT:     Type: None
124 # CHECK-NEXT:     Other: 0
125 # CHECK-NEXT:     Section: .bss
126 # CHECK-NEXT:   }
127 # CHECK-NEXT:   Symbol {
128 # CHECK-NEXT:     Name: __bss_start{{ }}
129 # CHECK-NEXT:     Value: 0x201030
130 # CHECK-NEXT:     Size: 0
131 # CHECK-NEXT:     Binding: Global
132 # CHECK-NEXT:     Type: None
133 # CHECK-NEXT:     Other: 0
134 # CHECK-NEXT:     Section: .bss
135 # CHECK-NEXT:   }
136 # CHECK-NEXT:   Symbol {
137 # CHECK-NEXT:     Name: main{{ }}
138 # CHECK-NEXT:     Value: 0x780
139 # CHECK-NEXT:     Size: 59
140 # CHECK-NEXT:     Binding: Global
141 # CHECK-NEXT:     Type: Function
142 # CHECK-NEXT:     Other: 0
143 # CHECK-NEXT:     Section: .text
144 # CHECK-NEXT:   }
145 # CHECK-NEXT:   Symbol {
146 # CHECK-NEXT:     Name: _init{{ }}
147 # CHECK-NEXT:     Value: 0x618
148 # CHECK-NEXT:     Size: 0
149 # CHECK-NEXT:     Binding: Global
150 # CHECK-NEXT:     Type: Function
151 # CHECK-NEXT:     Other: 0
152 # CHECK-NEXT:     Section: .init
153 # CHECK-NEXT:   }
154 # CHECK-NEXT:   Symbol {
155 # CHECK-NEXT:     Name: _fini{{ }}
156 # CHECK-NEXT:     Value: 0x7BC
157 # CHECK-NEXT:     Size: 0
158 # CHECK-NEXT:     Binding: Global
159 # CHECK-NEXT:     Type: Function
160 # CHECK-NEXT:     Other: 0
161 # CHECK-NEXT:     Section: .fini
162 # CHECK-NEXT:   }
163 # CHECK-NEXT: ]