1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331
|
RUN: llvm-readobj -mips-plt-got %p/Inputs/relocs.obj.elf-mips | \
RUN: FileCheck %s -check-prefix GOT-OBJ
RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-exe.mips | \
RUN: FileCheck %s -check-prefix GOT-EXE
RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-so.mips | \
RUN: FileCheck %s -check-prefix GOT-SO
RUN: llvm-readobj -mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \
RUN: FileCheck %s -check-prefix GOT-TLS
RUN: llvm-readobj -mips-plt-got %p/Inputs/got-empty.exe.mipsel | \
RUN: FileCheck %s -check-prefix GOT-EMPTY
GOT-OBJ: Cannot find PLTGOT dynamic table tag.
GOT-EXE: Primary GOT {
GOT-EXE-NEXT: Canonical gp value: 0x418880
GOT-EXE-NEXT: Reserved entries [
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x410890
GOT-EXE-NEXT: Access: -32752
GOT-EXE-NEXT: Initial: 0x0
GOT-EXE-NEXT: Purpose: Lazy resolver
GOT-EXE-NEXT: }
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x410894
GOT-EXE-NEXT: Access: -32748
GOT-EXE-NEXT: Initial: 0x80000000
GOT-EXE-NEXT: Purpose: Module pointer (GNU extension)
GOT-EXE-NEXT: }
GOT-EXE-NEXT: ]
GOT-EXE-NEXT: Local entries [
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x410898
GOT-EXE-NEXT: Access: -32744
GOT-EXE-NEXT: Initial: 0x400418
GOT-EXE-NEXT: }
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x41089C
GOT-EXE-NEXT: Access: -32740
GOT-EXE-NEXT: Initial: 0x410840
GOT-EXE-NEXT: }
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x4108A0
GOT-EXE-NEXT: Access: -32736
GOT-EXE-NEXT: Initial: 0x0
GOT-EXE-NEXT: }
GOT-EXE-NEXT: ]
GOT-EXE-NEXT: Global entries [
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x4108A4
GOT-EXE-NEXT: Access: -32732
GOT-EXE-NEXT: Initial: 0x0
GOT-EXE-NEXT: Value: 0x0
GOT-EXE-NEXT: Type: Function (0x2)
GOT-EXE-NEXT: Section: Undefined (0x0)
GOT-EXE-NEXT: Name: __gmon_start__@ (1)
GOT-EXE-NEXT: }
GOT-EXE-NEXT: ]
GOT-EXE-NEXT: Number of TLS and multi-GOT entries: 0
GOT-EXE-NEXT: }
GOT-SO: Primary GOT {
GOT-SO-NEXT: Canonical gp value: 0x188D0
GOT-SO-NEXT: Reserved entries [
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108E0
GOT-SO-NEXT: Access: -32752
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Purpose: Lazy resolver
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108E4
GOT-SO-NEXT: Access: -32748
GOT-SO-NEXT: Initial: 0x80000000
GOT-SO-NEXT: Purpose: Module pointer (GNU extension)
GOT-SO-NEXT: }
GOT-SO-NEXT: ]
GOT-SO-NEXT: Local entries [
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108E8
GOT-SO-NEXT: Access: -32744
GOT-SO-NEXT: Initial: 0x108E0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108EC
GOT-SO-NEXT: Access: -32740
GOT-SO-NEXT: Initial: 0x10000
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108F0
GOT-SO-NEXT: Access: -32736
GOT-SO-NEXT: Initial: 0x10920
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108F4
GOT-SO-NEXT: Access: -32732
GOT-SO-NEXT: Initial: 0x108CC
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108F8
GOT-SO-NEXT: Access: -32728
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108FC
GOT-SO-NEXT: Access: -32724
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10900
GOT-SO-NEXT: Access: -32720
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10904
GOT-SO-NEXT: Access: -32716
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: ]
GOT-SO-NEXT: Global entries [
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10908
GOT-SO-NEXT: Access: -32712
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: None (0x0)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: _ITM_registerTMCloneTable@ (87)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x1090C
GOT-SO-NEXT: Access: -32708
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: None (0x0)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: _Jv_RegisterClasses@ (128)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10910
GOT-SO-NEXT: Access: -32704
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: Function (0x2)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: __gmon_start__@ (23)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10914
GOT-SO-NEXT: Access: -32700
GOT-SO-NEXT: Initial: 0x840
GOT-SO-NEXT: Value: 0x840
GOT-SO-NEXT: Type: Function (0x2)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: puts@GLIBC_2.0 (162)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10918
GOT-SO-NEXT: Access: -32696
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: None (0x0)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: _ITM_deregisterTMCloneTable@ (59)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x1091C
GOT-SO-NEXT: Access: -32692
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: Function (0x2)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: __cxa_finalize@GLIBC_2.2 (113)
GOT-SO-NEXT: }
GOT-SO-NEXT: ]
GOT-SO-NEXT: Number of TLS and multi-GOT entries: 0
GOT-SO-NEXT: }
GOT-TLS: Primary GOT {
GOT-TLS-NEXT: Canonical gp value: 0x18BF0
GOT-TLS-NEXT: Reserved entries [
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C00
GOT-TLS-NEXT: Access: -32752
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Purpose: Lazy resolver
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C08
GOT-TLS-NEXT: Access: -32744
GOT-TLS-NEXT: Initial: 0x8000000000000000
GOT-TLS-NEXT: Purpose: Module pointer (GNU extension)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: ]
GOT-TLS-NEXT: Local entries [
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C10
GOT-TLS-NEXT: Access: -32736
GOT-TLS-NEXT: Initial: 0x10000
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C18
GOT-TLS-NEXT: Access: -32728
GOT-TLS-NEXT: Initial: 0x10C00
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C20
GOT-TLS-NEXT: Access: -32720
GOT-TLS-NEXT: Initial: 0x10CB8
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C28
GOT-TLS-NEXT: Access: -32712
GOT-TLS-NEXT: Initial: 0x10BF0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C30
GOT-TLS-NEXT: Access: -32704
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C38
GOT-TLS-NEXT: Access: -32696
GOT-TLS-NEXT: Initial: 0x948
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C40
GOT-TLS-NEXT: Access: -32688
GOT-TLS-NEXT: Initial: 0xA20
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C48
GOT-TLS-NEXT: Access: -32680
GOT-TLS-NEXT: Initial: 0xAF0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C50
GOT-TLS-NEXT: Access: -32672
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C58
GOT-TLS-NEXT: Access: -32664
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C60
GOT-TLS-NEXT: Access: -32656
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: ]
GOT-TLS-NEXT: Global entries [
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C68
GOT-TLS-NEXT: Access: -32648
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: None (0x0)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: _ITM_registerTMCloneTable@ (78)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C70
GOT-TLS-NEXT: Access: -32640
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: None (0x0)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: _Jv_RegisterClasses@ (119)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C78
GOT-TLS-NEXT: Access: -32632
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: Function (0x2)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: __gmon_start__@ (23)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C80
GOT-TLS-NEXT: Access: -32624
GOT-TLS-NEXT: Initial: 0xB60
GOT-TLS-NEXT: Value: 0xB60
GOT-TLS-NEXT: Type: Function (0x2)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: __tls_get_addr@GLIBC_2.3 (150)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C88
GOT-TLS-NEXT: Access: -32616
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: None (0x0)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: _ITM_deregisterTMCloneTable@ (50)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C90
GOT-TLS-NEXT: Access: -32608
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: Function (0x2)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: __cxa_finalize@GLIBC_2.2 (104)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: ]
GOT-TLS-NEXT: Number of TLS and multi-GOT entries: 4
GOT-TLS-NEXT: }
GOT-EMPTY: Primary GOT {
GOT-EMPTY-NEXT: Canonical gp value: 0x409FF0
GOT-EMPTY-NEXT: Reserved entries [
GOT-EMPTY-NEXT: Entry {
GOT-EMPTY-NEXT: Address: 0x402000
GOT-EMPTY-NEXT: Access: -32752
GOT-EMPTY-NEXT: Initial: 0x0
GOT-EMPTY-NEXT: Purpose: Lazy resolver
GOT-EMPTY-NEXT: }
GOT-EMPTY-NEXT: Entry {
GOT-EMPTY-NEXT: Address: 0x402004
GOT-EMPTY-NEXT: Access: -32748
GOT-EMPTY-NEXT: Initial: 0x80000000
GOT-EMPTY-NEXT: Purpose: Module pointer (GNU extension)
GOT-EMPTY-NEXT: }
GOT-EMPTY-NEXT: ]
GOT-EMPTY-NEXT: Local entries [
GOT-EMPTY-NEXT: ]
GOT-EMPTY-NEXT: Global entries [
GOT-EMPTY-NEXT: ]
GOT-EMPTY-NEXT: Number of TLS and multi-GOT entries: 2
GOT-EMPTY-NEXT: }
|