|
8 | 8 | # RUN: llvm-readelf --dynamic-table %t1 \
|
9 | 9 | # RUN: | FileCheck %s --strict-whitespace --match-full-lines --check-prefix=GNU64
|
10 | 10 | # RUN: llvm-readelf -d %t1 | FileCheck %s --check-prefix=GNU64
|
| 11 | +# RUN: llvm-readelf --dynamic-table --pretty-print --elf-output-style=JSON %t1 \ |
| 12 | +# RUN: | FileCheck %s --check-prefix=JSON64 |
| 13 | +# RUN: llvm-readelf -d --pretty-print --elf-output-style=JSON %t1 | FileCheck %s --check-prefix=JSON64 |
11 | 14 |
|
12 | 15 | # LLVM64:DynamicSection [ (61 entries)
|
13 | 16 | # LLVM64-NEXT: Tag Type Name/Value
|
|
138 | 141 | # GNU64-NEXT: 0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888
|
139 | 142 | # GNU64-NEXT: 0x0000000000000000 (NULL) 0x0
|
140 | 143 |
|
| 144 | +# JSON64:"DynamicSection": [ |
| 145 | +# JSON64-NEXT: { |
| 146 | +# JSON64-NEXT: "Tag": 1, |
| 147 | +# JSON64-NEXT: "Value": "Shared library: [D]", |
| 148 | +# JSON64-NEXT: "Type": "NEEDED" |
| 149 | +# JSON64-NEXT: }, |
| 150 | +# JSON64-NEXT: { |
| 151 | +# JSON64-NEXT: "Tag": 2, |
| 152 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 153 | +# JSON64-NEXT: "Type": "PLTRELSZ" |
| 154 | +# JSON64-NEXT: }, |
| 155 | +# JSON64-NEXT: { |
| 156 | +# JSON64-NEXT: "Tag": 3, |
| 157 | +# JSON64-NEXT: "Value": "0x1000", |
| 158 | +# JSON64-NEXT: "Type": "PLTGOT" |
| 159 | +# JSON64-NEXT: }, |
| 160 | +# JSON64-NEXT: { |
| 161 | +# JSON64-NEXT: "Tag": 4, |
| 162 | +# JSON64-NEXT: "Value": "0x1000", |
| 163 | +# JSON64-NEXT: "Type": "HASH" |
| 164 | +# JSON64-NEXT: }, |
| 165 | +# JSON64-NEXT: { |
| 166 | +# JSON64-NEXT: "Tag": 5, |
| 167 | +# JSON64-NEXT: "Value": "0x1000", |
| 168 | +# JSON64-NEXT: "Type": "STRTAB" |
| 169 | +# JSON64-NEXT: }, |
| 170 | +# JSON64-NEXT: { |
| 171 | +# JSON64-NEXT: "Tag": 6, |
| 172 | +# JSON64-NEXT: "Value": "0x1000", |
| 173 | +# JSON64-NEXT: "Type": "SYMTAB" |
| 174 | +# JSON64-NEXT: }, |
| 175 | +# JSON64-NEXT: { |
| 176 | +# JSON64-NEXT: "Tag": 7, |
| 177 | +# JSON64-NEXT: "Value": "0x1000", |
| 178 | +# JSON64-NEXT: "Type": "RELA" |
| 179 | +# JSON64-NEXT: }, |
| 180 | +# JSON64-NEXT: { |
| 181 | +# JSON64-NEXT: "Tag": 8, |
| 182 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 183 | +# JSON64-NEXT: "Type": "RELASZ" |
| 184 | +# JSON64-NEXT: }, |
| 185 | +# JSON64-NEXT: { |
| 186 | +# JSON64-NEXT: "Tag": 9, |
| 187 | +# JSON64-NEXT: "Value": "1929 (bytes)", |
| 188 | +# JSON64-NEXT: "Type": "RELAENT" |
| 189 | +# JSON64-NEXT: }, |
| 190 | +# JSON64-NEXT: { |
| 191 | +# JSON64-NEXT: "Tag": 10, |
| 192 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 193 | +# JSON64-NEXT: "Type": "STRSZ" |
| 194 | +# JSON64-NEXT: }, |
| 195 | +# JSON64-NEXT: { |
| 196 | +# JSON64-NEXT: "Tag": 11, |
| 197 | +# JSON64-NEXT: "Value": "2439 (bytes)", |
| 198 | +# JSON64-NEXT: "Type": "SYMENT" |
| 199 | +# JSON64-NEXT: }, |
| 200 | +# JSON64-NEXT: { |
| 201 | +# JSON64-NEXT: "Tag": 12, |
| 202 | +# JSON64-NEXT: "Value": "0x1000", |
| 203 | +# JSON64-NEXT: "Type": "INIT" |
| 204 | +# JSON64-NEXT: }, |
| 205 | +# JSON64-NEXT: { |
| 206 | +# JSON64-NEXT: "Tag": 13, |
| 207 | +# JSON64-NEXT: "Value": "0x1000", |
| 208 | +# JSON64-NEXT: "Type": "FINI" |
| 209 | +# JSON64-NEXT: }, |
| 210 | +# JSON64-NEXT: { |
| 211 | +# JSON64-NEXT: "Tag": 14, |
| 212 | +# JSON64-NEXT: "Value": "Library soname: [U]", |
| 213 | +# JSON64-NEXT: "Type": "SONAME" |
| 214 | +# JSON64-NEXT: }, |
| 215 | +# JSON64-NEXT: { |
| 216 | +# JSON64-NEXT: "Tag": 15, |
| 217 | +# JSON64-NEXT: "Value": "Library rpath: [f]", |
| 218 | +# JSON64-NEXT: "Type": "RPATH" |
| 219 | +# JSON64-NEXT: }, |
| 220 | +# JSON64-NEXT: { |
| 221 | +# JSON64-NEXT: "Tag": 16, |
| 222 | +# JSON64-NEXT: "Value": "0x1234567890ABCDEF", |
| 223 | +# JSON64-NEXT: "Type": "SYMBOLIC" |
| 224 | +# JSON64-NEXT: }, |
| 225 | +# JSON64-NEXT: { |
| 226 | +# JSON64-NEXT: "Tag": 17, |
| 227 | +# JSON64-NEXT: "Value": "0x1000", |
| 228 | +# JSON64-NEXT: "Type": "REL" |
| 229 | +# JSON64-NEXT: }, |
| 230 | +# JSON64-NEXT: { |
| 231 | +# JSON64-NEXT: "Tag": 18, |
| 232 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 233 | +# JSON64-NEXT: "Type": "RELSZ" |
| 234 | +# JSON64-NEXT: }, |
| 235 | +# JSON64-NEXT: { |
| 236 | +# JSON64-NEXT: "Tag": 19, |
| 237 | +# JSON64-NEXT: "Value": "291 (bytes)", |
| 238 | +# JSON64-NEXT: "Type": "RELENT" |
| 239 | +# JSON64-NEXT: }, |
| 240 | +# JSON64-NEXT: { |
| 241 | +# JSON64-NEXT: "Tag": 20, |
| 242 | +# JSON64-NEXT: "Value": "RELA", |
| 243 | +# JSON64-NEXT: "Type": "PLTREL" |
| 244 | +# JSON64-NEXT: }, |
| 245 | +# JSON64-NEXT: { |
| 246 | +# JSON64-NEXT: "Tag": 21, |
| 247 | +# JSON64-NEXT: "Value": "0xFEDCBA0987654321", |
| 248 | +# JSON64-NEXT: "Type": "DEBUG" |
| 249 | +# JSON64-NEXT: }, |
| 250 | +# JSON64-NEXT: { |
| 251 | +# JSON64-NEXT: "Tag": 22, |
| 252 | +# JSON64-NEXT: "Value": "0x1122334455667788", |
| 253 | +# JSON64-NEXT: "Type": "TEXTREL" |
| 254 | +# JSON64-NEXT: }, |
| 255 | +# JSON64-NEXT: { |
| 256 | +# JSON64-NEXT: "Tag": 23, |
| 257 | +# JSON64-NEXT: "Value": "0x1000", |
| 258 | +# JSON64-NEXT: "Type": "JMPREL" |
| 259 | +# JSON64-NEXT: }, |
| 260 | +# JSON64-NEXT: { |
| 261 | +# JSON64-NEXT: "Tag": 24, |
| 262 | +# JSON64-NEXT: "Value": "0x8877665544332211", |
| 263 | +# JSON64-NEXT: "Type": "BIND_NOW" |
| 264 | +# JSON64-NEXT: }, |
| 265 | +# JSON64-NEXT: { |
| 266 | +# JSON64-NEXT: "Tag": 25, |
| 267 | +# JSON64-NEXT: "Value": "0x1000", |
| 268 | +# JSON64-NEXT: "Type": "INIT_ARRAY" |
| 269 | +# JSON64-NEXT: }, |
| 270 | +# JSON64-NEXT: { |
| 271 | +# JSON64-NEXT: "Tag": 26, |
| 272 | +# JSON64-NEXT: "Value": "0x1000", |
| 273 | +# JSON64-NEXT: "Type": "FINI_ARRAY" |
| 274 | +# JSON64-NEXT: }, |
| 275 | +# JSON64-NEXT: { |
| 276 | +# JSON64-NEXT: "Tag": 27, |
| 277 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 278 | +# JSON64-NEXT: "Type": "INIT_ARRAYSZ" |
| 279 | +# JSON64-NEXT: }, |
| 280 | +# JSON64-NEXT: { |
| 281 | +# JSON64-NEXT: "Tag": 28, |
| 282 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 283 | +# JSON64-NEXT: "Type": "FINI_ARRAYSZ" |
| 284 | +# JSON64-NEXT: }, |
| 285 | +# JSON64-NEXT: { |
| 286 | +# JSON64-NEXT: "Tag": 29, |
| 287 | +# JSON64-NEXT: "Value": "Library runpath: [w]", |
| 288 | +# JSON64-NEXT: "Type": "RUNPATH" |
| 289 | +# JSON64-NEXT: }, |
| 290 | +# JSON64-NEXT: { |
| 291 | +# JSON64-NEXT: "Tag": 30, |
| 292 | +# JSON64-NEXT: "Value": "ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS ", |
| 293 | +# JSON64-NEXT: "Type": "FLAGS" |
| 294 | +# JSON64-NEXT: }, |
| 295 | +# JSON64-NEXT: { |
| 296 | +# JSON64-NEXT: "Tag": 32, |
| 297 | +# JSON64-NEXT: "Value": "0x1000", |
| 298 | +# JSON64-NEXT: "Type": "PREINIT_ARRAY" |
| 299 | +# JSON64-NEXT: }, |
| 300 | +# JSON64-NEXT: { |
| 301 | +# JSON64-NEXT: "Tag": 33, |
| 302 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 303 | +# JSON64-NEXT: "Type": "PREINIT_ARRAYSZ" |
| 304 | +# JSON64-NEXT: }, |
| 305 | +# JSON64-NEXT: { |
| 306 | +# JSON64-NEXT: "Tag": 34, |
| 307 | +# JSON64-NEXT: "Value": "0x1000", |
| 308 | +# JSON64-NEXT: "Type": "SYMTAB_SHNDX" |
| 309 | +# JSON64-NEXT: }, |
| 310 | +# JSON64-NEXT: { |
| 311 | +# JSON64-NEXT: "Tag": 35, |
| 312 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 313 | +# JSON64-NEXT: "Type": "RELRSZ" |
| 314 | +# JSON64-NEXT: }, |
| 315 | +# JSON64-NEXT: { |
| 316 | +# JSON64-NEXT: "Tag": 36, |
| 317 | +# JSON64-NEXT: "Value": "0x1000", |
| 318 | +# JSON64-NEXT: "Type": "RELR" |
| 319 | +# JSON64-NEXT: }, |
| 320 | +# JSON64-NEXT: { |
| 321 | +# JSON64-NEXT: "Tag": 37, |
| 322 | +# JSON64-NEXT: "Value": "17185 (bytes)", |
| 323 | +# JSON64-NEXT: "Type": "RELRENT" |
| 324 | +# JSON64-NEXT: }, |
| 325 | +# JSON64-NEXT: { |
| 326 | +# JSON64-NEXT: "Tag": 1610612751, |
| 327 | +# JSON64-NEXT: "Value": "0x1000", |
| 328 | +# JSON64-NEXT: "Type": "ANDROID_REL" |
| 329 | +# JSON64-NEXT: }, |
| 330 | +# JSON64-NEXT: { |
| 331 | +# JSON64-NEXT: "Tag": 1610612752, |
| 332 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 333 | +# JSON64-NEXT: "Type": "ANDROID_RELSZ" |
| 334 | +# JSON64-NEXT: }, |
| 335 | +# JSON64-NEXT: { |
| 336 | +# JSON64-NEXT: "Tag": 1610612753, |
| 337 | +# JSON64-NEXT: "Value": "0x1000", |
| 338 | +# JSON64-NEXT: "Type": "ANDROID_RELA" |
| 339 | +# JSON64-NEXT: }, |
| 340 | +# JSON64-NEXT: { |
| 341 | +# JSON64-NEXT: "Tag": 1610612754, |
| 342 | +# JSON64-NEXT: "Value": "16 (bytes)", |
| 343 | +# JSON64-NEXT: "Type": "ANDROID_RELASZ" |
| 344 | +# JSON64-NEXT: }, |
| 345 | +# JSON64-NEXT: { |
| 346 | +# JSON64-NEXT: "Tag": 1879040000, |
| 347 | +# JSON64-NEXT: "Value": "0x1000", |
| 348 | +# JSON64-NEXT: "Type": "ANDROID_RELR" |
| 349 | +# JSON64-NEXT: }, |
| 350 | +# JSON64-NEXT: { |
| 351 | +# JSON64-NEXT: "Tag": 1879040001, |
| 352 | +# JSON64-NEXT: "Value": "0x10", |
| 353 | +# JSON64-NEXT: "Type": "ANDROID_RELRSZ" |
| 354 | +# JSON64-NEXT: }, |
| 355 | +# JSON64-NEXT: { |
| 356 | +# JSON64-NEXT: "Tag": 1879040003, |
| 357 | +# JSON64-NEXT: "Value": "0x1234", |
| 358 | +# JSON64-NEXT: "Type": "ANDROID_RELRENT" |
| 359 | +# JSON64-NEXT: }, |
| 360 | +# JSON64-NEXT: { |
| 361 | +# JSON64-NEXT: "Tag": 1879047925, |
| 362 | +# JSON64-NEXT: "Value": "0x1000", |
| 363 | +# JSON64-NEXT: "Type": "GNU_HASH" |
| 364 | +# JSON64-NEXT: }, |
| 365 | +# JSON64-NEXT: { |
| 366 | +# JSON64-NEXT: "Tag": 1879047926, |
| 367 | +# JSON64-NEXT: "Value": "0x1000", |
| 368 | +# JSON64-NEXT: "Type": "TLSDESC_PLT" |
| 369 | +# JSON64-NEXT: }, |
| 370 | +# JSON64-NEXT: { |
| 371 | +# JSON64-NEXT: "Tag": 1879047927, |
| 372 | +# JSON64-NEXT: "Value": "0x1000", |
| 373 | +# JSON64-NEXT: "Type": "TLSDESC_GOT" |
| 374 | +# JSON64-NEXT: }, |
| 375 | +# JSON64-NEXT: { |
| 376 | +# JSON64-NEXT: "Tag": 1879048185, |
| 377 | +# JSON64-NEXT: "Value": "0", |
| 378 | +# JSON64-NEXT: "Type": "RELACOUNT" |
| 379 | +# JSON64-NEXT: }, |
| 380 | +# JSON64-NEXT: { |
| 381 | +# JSON64-NEXT: "Tag": 1879048186, |
| 382 | +# JSON64-NEXT: "Value": "0", |
| 383 | +# JSON64-NEXT: "Type": "RELCOUNT" |
| 384 | +# JSON64-NEXT: }, |
| 385 | +# JSON64-NEXT: { |
| 386 | +# JSON64-NEXT: "Tag": 1879048187, |
| 387 | +# JSON64-NEXT: "Value": "NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE ", |
| 388 | +# JSON64-NEXT: "Type": "FLAGS_1" |
| 389 | +# JSON64-NEXT: }, |
| 390 | +# JSON64-NEXT: { |
| 391 | +# JSON64-NEXT: "Tag": 1879048176, |
| 392 | +# JSON64-NEXT: "Value": "0x1000", |
| 393 | +# JSON64-NEXT: "Type": "VERSYM" |
| 394 | +# JSON64-NEXT: }, |
| 395 | +# JSON64-NEXT: { |
| 396 | +# JSON64-NEXT: "Tag": 1879048188, |
| 397 | +# JSON64-NEXT: "Value": "0x1000", |
| 398 | +# JSON64-NEXT: "Type": "VERDEF" |
| 399 | +# JSON64-NEXT: }, |
| 400 | +# JSON64-NEXT: { |
| 401 | +# JSON64-NEXT: "Tag": 1879048189, |
| 402 | +# JSON64-NEXT: "Value": "0", |
| 403 | +# JSON64-NEXT: "Type": "VERDEFNUM" |
| 404 | +# JSON64-NEXT: }, |
| 405 | +# JSON64-NEXT: { |
| 406 | +# JSON64-NEXT: "Tag": 1879048190, |
| 407 | +# JSON64-NEXT: "Value": "0x1000", |
| 408 | +# JSON64-NEXT: "Type": "VERNEED" |
| 409 | +# JSON64-NEXT: }, |
| 410 | +# JSON64-NEXT: { |
| 411 | +# JSON64-NEXT: "Tag": 1879048191, |
| 412 | +# JSON64-NEXT: "Value": "0", |
| 413 | +# JSON64-NEXT: "Type": "VERNEEDNUM" |
| 414 | +# JSON64-NEXT: }, |
| 415 | +# JSON64-NEXT: { |
| 416 | +# JSON64-NEXT: "Tag": 2147483645, |
| 417 | +# JSON64-NEXT: "Value": "Auxiliary library: [D]", |
| 418 | +# JSON64-NEXT: "Type": "AUXILIARY" |
| 419 | +# JSON64-NEXT: }, |
| 420 | +# JSON64-NEXT: { |
| 421 | +# JSON64-NEXT: "Tag": 2147483646, |
| 422 | +# JSON64-NEXT: "Value": "Not needed object: [U]", |
| 423 | +# JSON64-NEXT: "Type": "USED" |
| 424 | +# JSON64-NEXT: }, |
| 425 | +# JSON64-NEXT: { |
| 426 | +# JSON64-NEXT: "Tag": 2147483647, |
| 427 | +# JSON64-NEXT: "Value": "Filter library: [U]", |
| 428 | +# JSON64-NEXT: "Type": "FILTER" |
| 429 | +# JSON64-NEXT: }, |
| 430 | +# JSON64-NEXT: { |
| 431 | +# JSON64-NEXT: "Tag": 305419896, |
| 432 | +# JSON64-NEXT: "Value": "0x8765432187654321", |
| 433 | +# JSON64-NEXT: "Type": "<unknown:>0x12345678" |
| 434 | +# JSON64-NEXT: }, |
| 435 | +# JSON64-NEXT: { |
| 436 | +# JSON64-NEXT: "Tag": 1790762736, |
| 437 | +# JSON64-NEXT: "Value": "0x9988776655443322", |
| 438 | +# JSON64-NEXT: "Type": "<unknown:>0x6abcdef0" |
| 439 | +# JSON64-NEXT: }, |
| 440 | +# JSON64-NEXT: { |
| 441 | +# JSON64-NEXT: "Tag": 1985229328, |
| 442 | +# JSON64-NEXT: "Value": "0x5555666677778888", |
| 443 | +# JSON64-NEXT: "Type": "<unknown:>0x76543210" |
| 444 | +# JSON64-NEXT: }, |
| 445 | +# JSON64-NEXT: { |
| 446 | +# JSON64-NEXT: "Tag": 0, |
| 447 | +# JSON64-NEXT: "Value": "0x0", |
| 448 | +# JSON64-NEXT: "Type": "NULL" |
| 449 | +# JSON64-NEXT: } |
| 450 | +# JSON64-NEXT: ] |
| 451 | +# JSON64-NEXT: } |
| 452 | +# JSON64-NEXT:] |
| 453 | + |
141 | 454 | --- !ELF
|
142 | 455 | FileHeader:
|
143 | 456 | Class: ELFCLASS[[BITS=64]]
|
|
0 commit comments