1# RUN: yaml2obj --docnum=1 %s -o %t1 2# RUN: llvm-objdump -p %t1 | FileCheck %s --strict-whitespace --match-full-lines --check-prefix=ELF64 3 4# ELF64:Dynamic Section: 5# ELF64-NEXT: NEEDED D 6# ELF64-NEXT: PLTRELSZ 0x0000000000000010 7# ELF64-NEXT: PLTGOT 0x0000000000001000 8# ELF64-NEXT: HASH 0x0000000000001000 9# ELF64-NEXT: STRTAB 0x0000000000001000 10# ELF64-NEXT: SYMTAB 0x0000000000001000 11# ELF64-NEXT: RELA 0x0000000000001000 12# ELF64-NEXT: RELASZ 0x0000000000000010 13# ELF64-NEXT: RELAENT 0x0000000000000789 14# ELF64-NEXT: STRSZ 0x0000000000000010 15# ELF64-NEXT: SYMENT 0x0000000000000987 16# ELF64-NEXT: INIT 0x0000000000001000 17# ELF64-NEXT: FINI 0x0000000000001000 18# ELF64-NEXT: SONAME U 19# ELF64-NEXT: RPATH f 20# ELF64-NEXT: SYMBOLIC 0x1234567890abcdef 21# ELF64-NEXT: REL 0x0000000000001000 22# ELF64-NEXT: RELSZ 0x0000000000000010 23# ELF64-NEXT: RELENT 0x0000000000000123 24# ELF64-NEXT: PLTREL 0x0000000000000007 25# ELF64-NEXT: DEBUG 0xfedcba0987654321 26# ELF64-NEXT: TEXTREL 0x1122334455667788 27# ELF64-NEXT: JMPREL 0x0000000000001000 28# ELF64-NEXT: BIND_NOW 0x8877665544332211 29# ELF64-NEXT: INIT_ARRAY 0x0000000000001000 30# ELF64-NEXT: FINI_ARRAY 0x0000000000001000 31# ELF64-NEXT: INIT_ARRAYSZ 0x0000000000000010 32# ELF64-NEXT: FINI_ARRAYSZ 0x0000000000000010 33# ELF64-NEXT: RUNPATH w 34# ELF64-NEXT: FLAGS 0xaabbccddeeff9900 35# ELF64-NEXT: PREINIT_ARRAY 0x0000000000001000 36# ELF64-NEXT: PREINIT_ARRAYSZ 0x0000000000000010 37# ELF64-NEXT: SYMTAB_SHNDX 0x0000000000001000 38# ELF64-NEXT: RELRSZ 0x0000000000000010 39# ELF64-NEXT: RELR 0x0000000000001000 40# ELF64-NEXT: RELRENT 0x0000000000004321 41# ELF64-NEXT: ANDROID_REL 0x0000000000001000 42# ELF64-NEXT: ANDROID_RELSZ 0x0000000000000010 43# ELF64-NEXT: ANDROID_RELA 0x0000000000001000 44# ELF64-NEXT: ANDROID_RELASZ 0x0000000000000010 45# ELF64-NEXT: ANDROID_RELR 0x0000000000001000 46# ELF64-NEXT: ANDROID_RELRSZ 0x0000000000000010 47# ELF64-NEXT: ANDROID_RELRENT 0x0000000000001234 48# ELF64-NEXT: GNU_HASH 0x0000000000001000 49# ELF64-NEXT: TLSDESC_PLT 0x0000000000001000 50# ELF64-NEXT: TLSDESC_GOT 0x0000000000001000 51# ELF64-NEXT: RELACOUNT 0x0000000000000000 52# ELF64-NEXT: RELCOUNT 0x0000000000000000 53# ELF64-NEXT: FLAGS_1 0x0000000087654321 54# ELF64-NEXT: VERSYM 0x0000000000001000 55# ELF64-NEXT: VERDEF 0x0000000000001000 56# ELF64-NEXT: VERDEFNUM 0x0000000000000000 57# ELF64-NEXT: VERNEED 0x0000000000001000 58# ELF64-NEXT: VERNEEDNUM 0x0000000000000000 59# ELF64-NEXT: AUXILIARY D 60# ELF64-NEXT: FILTER U 61# ELF64-NEXT: <unknown:>0x12345678 0x8765432187654321 62# ELF64-NEXT: <unknown:>0x6abcdef0 0x9988776655443322 63# ELF64-NEXT: <unknown:>0x76543210 0x5555666677778888 64# ELF64-NOT:{{.}} 65 66--- !ELF 67FileHeader: 68 Class: ELFCLASS64 69 Data: ELFDATA2LSB 70 Type: ET_EXEC 71 Machine: EM_X86_64 72Sections: 73 - Name: .dynstr 74 Type: SHT_STRTAB 75 Address: 0x1000 76 Size: 0x10 77 Content: "004400550066007700" 78 - Name: .dynamic 79 Type: SHT_DYNAMIC 80 Address: 0x1010 81 Link: 1 82 Entries: 83 - Tag: DT_NEEDED 84 Value: 0x1 85 - Tag: DT_PLTRELSZ 86 Value: 0x10 87 - Tag: DT_PLTGOT 88 Value: 0x1000 89 - Tag: DT_HASH 90 Value: 0x1000 91 - Tag: DT_STRTAB 92 Value: 0x1000 93 - Tag: DT_SYMTAB 94 Value: 0x1000 95 - Tag: DT_RELA 96 Value: 0x1000 97 - Tag: DT_RELASZ 98 Value: 0x10 99 - Tag: DT_RELAENT 100 Value: 0x789 101 - Tag: DT_STRSZ 102 Value: 0x10 103 - Tag: DT_SYMENT 104 Value: 0x987 105 - Tag: DT_INIT 106 Value: 0x1000 107 - Tag: DT_FINI 108 Value: 0x1000 109 - Tag: DT_SONAME 110 Value: 0x3 111 - Tag: DT_RPATH 112 Value: 0x5 113 - Tag: DT_SYMBOLIC 114 Value: 0x1234567890abcdef 115 - Tag: DT_REL 116 Value: 0x1000 117 - Tag: DT_RELSZ 118 Value: 0x10 119 - Tag: DT_RELENT 120 Value: 0x123 121 - Tag: DT_PLTREL 122 Value: 0x7 123 - Tag: DT_DEBUG 124 Value: 0xfedcba0987654321 125 - Tag: DT_TEXTREL 126 Value: 0x1122334455667788 127 - Tag: DT_JMPREL 128 Value: 0x1000 129 - Tag: DT_BIND_NOW 130 Value: 0x8877665544332211 131 - Tag: DT_INIT_ARRAY 132 Value: 0x1000 133 - Tag: DT_FINI_ARRAY 134 Value: 0x1000 135 - Tag: DT_INIT_ARRAYSZ 136 Value: 0x10 137 - Tag: DT_FINI_ARRAYSZ 138 Value: 0x10 139 - Tag: DT_RUNPATH 140 Value: 0x7 141 - Tag: DT_FLAGS 142 Value: 0xaabbccddeeff9900 143 - Tag: DT_PREINIT_ARRAY 144 Value: 0x1000 145 - Tag: DT_PREINIT_ARRAYSZ 146 Value: 0x10 147 - Tag: DT_SYMTAB_SHNDX 148 Value: 0x1000 149 - Tag: DT_RELRSZ 150 Value: 0x10 151 - Tag: DT_RELR 152 Value: 0x1000 153 - Tag: DT_RELRENT 154 Value: 0x4321 155 - Tag: DT_ANDROID_REL 156 Value: 0x1000 157 - Tag: DT_ANDROID_RELSZ 158 Value: 0x10 159 - Tag: DT_ANDROID_RELA 160 Value: 0x1000 161 - Tag: DT_ANDROID_RELASZ 162 Value: 0x10 163 - Tag: DT_ANDROID_RELR 164 Value: 0x1000 165 - Tag: DT_ANDROID_RELRSZ 166 Value: 0x10 167 - Tag: DT_ANDROID_RELRENT 168 Value: 0x1234 169 - Tag: DT_GNU_HASH 170 Value: 0x1000 171 - Tag: DT_TLSDESC_PLT 172 Value: 0x1000 173 - Tag: DT_TLSDESC_GOT 174 Value: 0x1000 175 - Tag: DT_RELACOUNT 176 Value: 0x0 177 - Tag: DT_RELCOUNT 178 Value: 0x0 179 - Tag: DT_FLAGS_1 180 Value: 0x87654321 181 - Tag: DT_VERSYM 182 Value: 0x1000 183 - Tag: DT_VERDEF 184 Value: 0x1000 185 - Tag: DT_VERDEFNUM 186 Value: 0x0 187 - Tag: DT_VERNEED 188 Value: 0x1000 189 - Tag: DT_VERNEEDNUM 190 Value: 0x0 191 - Tag: DT_AUXILIARY 192 Value: 0x1 193 - Tag: DT_FILTER 194 Value: 0x3 195## Show behaviour for unknown values in special and unmarked ranges. 196## An arbitrary unknown value outside of the special ranges. 197 - Tag: 0x12345678 198 Value: 0x8765432187654321 199## An OS specific tag. 200 - Tag: 0x6abcdef0 201 Value: 0x9988776655443322 202## A processor specific tags. 203 - Tag: 0x76543210 204 Value: 0x5555666677778888 205 - Tag: DT_NULL 206 Value: 0x0 207ProgramHeaders: 208 - Type: PT_LOAD 209 VAddr: 0x1000 210 Sections: 211 - Section: .dynstr 212 - Section: .dynamic 213 - Type: PT_DYNAMIC 214 VAddr: 0x1010 215 Sections: 216 - Section: .dynamic 217 218# RUN: yaml2obj --docnum=2 %s > %t2 219# RUN: llvm-objdump -p %t2 | FileCheck %s --strict-whitespace --match-full-lines --check-prefix=ELF32 220 221# ELF32:Dynamic Section: 222# ELF32-NEXT: NEEDED D 223# ELF32-NEXT: PLTRELSZ 0x00000010 224# ELF32-NEXT: PLTGOT 0x00001000 225# ELF32-NEXT: HASH 0x00001000 226# ELF32-NEXT: STRTAB 0x00001000 227# ELF32-NEXT: SYMTAB 0x00001000 228# ELF32-NEXT: RELA 0x00001000 229# ELF32-NEXT: RELASZ 0x00000010 230# ELF32-NEXT: RELAENT 0x00000789 231# ELF32-NEXT: STRSZ 0x00000010 232# ELF32-NEXT: SYMENT 0x00000987 233# ELF32-NEXT: INIT 0x00001000 234# ELF32-NEXT: FINI 0x00001000 235# ELF32-NEXT: SONAME U 236# ELF32-NEXT: RPATH f 237# ELF32-NEXT: SYMBOLIC 0x12345678 238# ELF32-NEXT: REL 0x00001000 239# ELF32-NEXT: RELSZ 0x00000010 240# ELF32-NEXT: RELENT 0x00000123 241# ELF32-NEXT: PLTREL 0x00000007 242# ELF32-NEXT: DEBUG 0xfedcba09 243# ELF32-NEXT: TEXTREL 0x11223344 244# ELF32-NEXT: JMPREL 0x00001000 245# ELF32-NEXT: BIND_NOW 0x88776655 246# ELF32-NEXT: INIT_ARRAY 0x00001000 247# ELF32-NEXT: FINI_ARRAY 0x00001000 248# ELF32-NEXT: INIT_ARRAYSZ 0x00000010 249# ELF32-NEXT: FINI_ARRAYSZ 0x00000010 250# ELF32-NEXT: RUNPATH w 251# ELF32-NEXT: FLAGS 0xaabbccdd 252# ELF32-NEXT: PREINIT_ARRAY 0x00001000 253# ELF32-NEXT: PREINIT_ARRAYSZ 0x00000010 254# ELF32-NEXT: SYMTAB_SHNDX 0x00001000 255# ELF32-NEXT: RELRSZ 0x00000010 256# ELF32-NEXT: RELR 0x00001000 257# ELF32-NEXT: RELRENT 0x00004321 258# ELF32-NEXT: ANDROID_REL 0x00001000 259# ELF32-NEXT: ANDROID_RELSZ 0x00000010 260# ELF32-NEXT: ANDROID_RELA 0x00001000 261# ELF32-NEXT: ANDROID_RELASZ 0x00000010 262# ELF32-NEXT: ANDROID_RELR 0x00001000 263# ELF32-NEXT: ANDROID_RELRSZ 0x00000010 264# ELF32-NEXT: ANDROID_RELRENT 0x00001234 265# ELF32-NEXT: GNU_HASH 0x00001000 266# ELF32-NEXT: TLSDESC_PLT 0x00001000 267# ELF32-NEXT: TLSDESC_GOT 0x00001000 268# ELF32-NEXT: RELACOUNT 0x00000000 269# ELF32-NEXT: RELCOUNT 0x00000000 270# ELF32-NEXT: FLAGS_1 0x87654321 271# ELF32-NEXT: VERSYM 0x00001000 272# ELF32-NEXT: VERDEF 0x00001000 273# ELF32-NEXT: VERDEFNUM 0x00000000 274# ELF32-NEXT: VERNEED 0x00001000 275# ELF32-NEXT: VERNEEDNUM 0x00000000 276# ELF32-NEXT: AUXILIARY D 277# ELF32-NEXT: FILTER U 278# ELF32-NEXT: <unknown:>0x12345678 0x87654321 279# ELF32-NEXT: <unknown:>0x6abcdef0 0x99887766 280# ELF32-NEXT: <unknown:>0x76543210 0x55556666 281 282--- !ELF 283FileHeader: 284 Class: ELFCLASS32 285 Data: ELFDATA2LSB 286 Type: ET_EXEC 287 Machine: EM_386 288Sections: 289 - Name: .dynstr 290 Type: SHT_STRTAB 291 Address: 0x1000 292 Size: 0x10 293 Content: "004400550066007700" 294 - Name: .dynamic 295 Type: SHT_DYNAMIC 296 Address: 0x1010 297 Link: 1 298 Entries: 299 - Tag: DT_NEEDED 300 Value: 0x1 301 - Tag: DT_PLTRELSZ 302 Value: 0x10 303 - Tag: DT_PLTGOT 304 Value: 0x1000 305 - Tag: DT_HASH 306 Value: 0x1000 307 - Tag: DT_STRTAB 308 Value: 0x1000 309 - Tag: DT_SYMTAB 310 Value: 0x1000 311 - Tag: DT_RELA 312 Value: 0x1000 313 - Tag: DT_RELASZ 314 Value: 0x10 315 - Tag: DT_RELAENT 316 Value: 0x789 317 - Tag: DT_STRSZ 318 Value: 0x10 319 - Tag: DT_SYMENT 320 Value: 0x987 321 - Tag: DT_INIT 322 Value: 0x1000 323 - Tag: DT_FINI 324 Value: 0x1000 325 - Tag: DT_SONAME 326 Value: 0x3 327 - Tag: DT_RPATH 328 Value: 0x5 329 - Tag: DT_SYMBOLIC 330 Value: 0x12345678 331 - Tag: DT_REL 332 Value: 0x1000 333 - Tag: DT_RELSZ 334 Value: 0x10 335 - Tag: DT_RELENT 336 Value: 0x123 337 - Tag: DT_PLTREL 338 Value: 0x7 339 - Tag: DT_DEBUG 340 Value: 0xfedcba09 341 - Tag: DT_TEXTREL 342 Value: 0x11223344 343 - Tag: DT_JMPREL 344 Value: 0x1000 345 - Tag: DT_BIND_NOW 346 Value: 0x88776655 347 - Tag: DT_INIT_ARRAY 348 Value: 0x1000 349 - Tag: DT_FINI_ARRAY 350 Value: 0x1000 351 - Tag: DT_INIT_ARRAYSZ 352 Value: 0x10 353 - Tag: DT_FINI_ARRAYSZ 354 Value: 0x10 355 - Tag: DT_RUNPATH 356 Value: 0x7 357 - Tag: DT_FLAGS 358 Value: 0xaabbccdd 359 - Tag: DT_PREINIT_ARRAY 360 Value: 0x1000 361 - Tag: DT_PREINIT_ARRAYSZ 362 Value: 0x10 363 - Tag: DT_SYMTAB_SHNDX 364 Value: 0x1000 365 - Tag: DT_RELRSZ 366 Value: 0x10 367 - Tag: DT_RELR 368 Value: 0x1000 369 - Tag: DT_RELRENT 370 Value: 0x4321 371 - Tag: DT_ANDROID_REL 372 Value: 0x1000 373 - Tag: DT_ANDROID_RELSZ 374 Value: 0x10 375 - Tag: DT_ANDROID_RELA 376 Value: 0x1000 377 - Tag: DT_ANDROID_RELASZ 378 Value: 0x10 379 - Tag: DT_ANDROID_RELR 380 Value: 0x1000 381 - Tag: DT_ANDROID_RELRSZ 382 Value: 0x10 383 - Tag: DT_ANDROID_RELRENT 384 Value: 0x1234 385 - Tag: DT_GNU_HASH 386 Value: 0x1000 387 - Tag: DT_TLSDESC_PLT 388 Value: 0x1000 389 - Tag: DT_TLSDESC_GOT 390 Value: 0x1000 391 - Tag: DT_RELACOUNT 392 Value: 0x0 393 - Tag: DT_RELCOUNT 394 Value: 0x0 395 - Tag: DT_FLAGS_1 396 Value: 0x87654321 397 - Tag: DT_VERSYM 398 Value: 0x1000 399 - Tag: DT_VERDEF 400 Value: 0x1000 401 - Tag: DT_VERDEFNUM 402 Value: 0x0 403 - Tag: DT_VERNEED 404 Value: 0x1000 405 - Tag: DT_VERNEEDNUM 406 Value: 0x0 407 - Tag: DT_AUXILIARY 408 Value: 0x1 409 - Tag: DT_FILTER 410 Value: 0x3 411## Show behaviour for unknown values in special and unmarked ranges. 412## An arbitrary unknown value outside of the special ranges. 413 - Tag: 0x12345678 414 Value: 0x87654321 415## An OS specific tag. 416 - Tag: 0x6abcdef0 417 Value: 0x99887766 418## A processor specific tags. 419 - Tag: 0x76543210 420 Value: 0x55556666 421 - Tag: DT_NULL 422 Value: 0x0 423ProgramHeaders: 424 - Type: PT_LOAD 425 VAddr: 0x1000 426 Sections: 427 - Section: .dynstr 428 - Section: .dynamic 429 - Type: PT_DYNAMIC 430 VAddr: 0x1010 431 Sections: 432 - Section: .dynamic 433