643 lines · yaml
1# RUN: yaml2obj %s -o %t2# RUN: llvm-objdump --macho --reloc %t | FileCheck %s --check-prefix=OBJDUMP-VERIFY3 4# OBJDUMP-VERIFY: Relocation information (__TEXT,__text) 8 entries5# OBJDUMP-VERIFY-NEXT: address pcrel length extern type scattered symbolnum/value6# OBJDUMP-VERIFY-NEXT: 00000016 False hi/thm n/a HALFDIF True 0x000000647# OBJDUMP-VERIFY-NEXT: False hi/thm n/a PAIR True 0x0000001a half = 0x00468# OBJDUMP-VERIFY-NEXT: 00000012 False lo/arm n/a HALFDIF True 0x000000649# OBJDUMP-VERIFY-NEXT: False lo/arm n/a PAIR True 0x0000001a half = 0x000010# OBJDUMP-VERIFY-NEXT: 0000000a False hi/thm n/a HALFDIF True 0x0000005c11# OBJDUMP-VERIFY-NEXT: False hi/thm n/a PAIR True 0x0000000e half = 0x004a12# OBJDUMP-VERIFY-NEXT: 00000006 False lo/arm n/a HALFDIF True 0x0000005c13# OBJDUMP-VERIFY-NEXT: False lo/arm n/a PAIR True 0x0000000e half = 0x000014# OBJDUMP-VERIFY-NEXT: Relocation information (__TEXT,__StaticInit) 13 entries15# OBJDUMP-VERIFY-NEXT: address pcrel length extern type scattered symbolnum/value16# OBJDUMP-VERIFY-NEXT: 00000028 True long False T_BR22 False 2 (__TEXT,__StaticInit)17# OBJDUMP-VERIFY-NEXT: 0000001a False hi/thm n/a HALFDIF True 0x0000006418# OBJDUMP-VERIFY-NEXT: False hi/thm n/a PAIR True 0x00000042 half = 0x001e19# OBJDUMP-VERIFY-NEXT: 00000016 False lo/arm n/a HALFDIF True 0x0000006420# OBJDUMP-VERIFY-NEXT: False lo/arm n/a PAIR True 0x00000042 half = 0x000021# OBJDUMP-VERIFY-NEXT: 0000000e False hi/thm n/a HALFDIF True 0x0000005422# OBJDUMP-VERIFY-NEXT: False hi/thm n/a PAIR True 0x00000036 half = 0x001a23# OBJDUMP-VERIFY-NEXT: 0000000a False lo/arm n/a HALFDIF True 0x0000005424# OBJDUMP-VERIFY-NEXT: False lo/arm n/a PAIR True 0x00000036 half = 0x000025# OBJDUMP-VERIFY-NEXT: 00000004 False hi/thm n/a HALFDIF True 0x0000005826# OBJDUMP-VERIFY-NEXT: False hi/thm n/a PAIR True 0x0000002c half = 0x002827# OBJDUMP-VERIFY-NEXT: 00000000 False lo/arm n/a HALFDIF True 0x0000005828# OBJDUMP-VERIFY-NEXT: False lo/arm n/a PAIR True 0x0000002c half = 0x000029# OBJDUMP-VERIFY-NEXT: Relocation information (__DATA,__data) 1 entries30# OBJDUMP-VERIFY-NEXT: address pcrel length extern type scattered symbolnum/value31# OBJDUMP-VERIFY-NEXT: 00000008 False long False VANILLA False 3 (__DATA,__data)32# OBJDUMP-VERIFY-NEXT: Relocation information (__DATA,__mod_init_func) 1 entries33# OBJDUMP-VERIFY-NEXT: address pcrel length extern type scattered symbolnum/value34# OBJDUMP-VERIFY-NEXT: 00000000 False long False VANILLA False 2 (__TEXT,__StaticInit)35 36# RUN: obj2yaml %t | FileCheck %s37# CHECK: Sections:38# CHECK-NEXT: - sectname: __text39# CHECK-NEXT: segname: __TEXT40# CHECK-NEXT: addr: 0x041# CHECK-NEXT: size: 3642# CHECK-NEXT: offset: 0x22043# CHECK-NEXT: align: 144# CHECK-NEXT: reloff: 0x28445# CHECK-NEXT: nreloc: 846# CHECK-NEXT: flags: 0x8000040047# CHECK-NEXT: reserved1: 0x048# CHECK-NEXT: reserved2: 0x049# CHECK-NEXT: reserved3: 0x050# CHECK-NEXT: content:51# CHECK-NEXT: relocations:52# CHECK-NEXT: - address: 0x1653# CHECK-NEXT: symbolnum: 054# CHECK-NEXT: pcrel: false55# CHECK-NEXT: length: 356# CHECK-NEXT: extern: false57# CHECK-NEXT: type: 958# CHECK-NEXT: scattered: true59# CHECK-NEXT: value: 10060# CHECK-NEXT: - address: 0x4661# CHECK-NEXT: symbolnum: 062# CHECK-NEXT: pcrel: false63# CHECK-NEXT: length: 364# CHECK-NEXT: extern: false65# CHECK-NEXT: type: 166# CHECK-NEXT: scattered: true67# CHECK-NEXT: value: 2668# CHECK-NEXT: - address: 0x1269# CHECK-NEXT: symbolnum: 070# CHECK-NEXT: pcrel: false71# CHECK-NEXT: length: 272# CHECK-NEXT: extern: false73# CHECK-NEXT: type: 974# CHECK-NEXT: scattered: true75# CHECK-NEXT: value: 10076# CHECK-NEXT: - address: 0x077# CHECK-NEXT: symbolnum: 078# CHECK-NEXT: pcrel: false79# CHECK-NEXT: length: 280# CHECK-NEXT: extern: false81# CHECK-NEXT: type: 182# CHECK-NEXT: scattered: true83# CHECK-NEXT: value: 2684# CHECK-NEXT: - address: 0xA85# CHECK-NEXT: symbolnum: 086# CHECK-NEXT: pcrel: false87# CHECK-NEXT: length: 388# CHECK-NEXT: extern: false89# CHECK-NEXT: type: 990# CHECK-NEXT: scattered: true91# CHECK-NEXT: value: 9292# CHECK-NEXT: - address: 0x4A93# CHECK-NEXT: symbolnum: 094# CHECK-NEXT: pcrel: false95# CHECK-NEXT: length: 396# CHECK-NEXT: extern: false97# CHECK-NEXT: type: 198# CHECK-NEXT: scattered: true99# CHECK-NEXT: value: 14100# CHECK-NEXT: - address: 0x6101# CHECK-NEXT: symbolnum: 0102# CHECK-NEXT: pcrel: false103# CHECK-NEXT: length: 2104# CHECK-NEXT: extern: false105# CHECK-NEXT: type: 9106# CHECK-NEXT: scattered: true107# CHECK-NEXT: value: 92108# CHECK-NEXT: - address: 0x0109# CHECK-NEXT: symbolnum: 0110# CHECK-NEXT: pcrel: false111# CHECK-NEXT: length: 2112# CHECK-NEXT: extern: false113# CHECK-NEXT: type: 1114# CHECK-NEXT: scattered: true115# CHECK-NEXT: value: 14116# CHECK-NEXT: - sectname: __StaticInit117# CHECK-NEXT: segname: __TEXT118# CHECK-NEXT: addr: 0x24119# CHECK-NEXT: size: 46120# CHECK-NEXT: offset: 0x244121# CHECK-NEXT: align: 1122# CHECK-NEXT: reloff: 0x2C4123# CHECK-NEXT: nreloc: 13124# CHECK-NEXT: flags: 0x80000400125# CHECK-NEXT: reserved1: 0x0126# CHECK-NEXT: reserved2: 0x0127# CHECK-NEXT: reserved3: 0x0128# CHECK-NEXT: content:129# CHECK-NEXT: relocations:130# CHECK-NEXT: - address: 0x28131# CHECK-NEXT: symbolnum: 2132# CHECK-NEXT: pcrel: true133# CHECK-NEXT: length: 2134# CHECK-NEXT: extern: false135# CHECK-NEXT: type: 6136# CHECK-NEXT: scattered: false137# CHECK-NEXT: value: 0138# CHECK-NEXT: - address: 0x1A139# CHECK-NEXT: symbolnum: 0140# CHECK-NEXT: pcrel: false141# CHECK-NEXT: length: 3142# CHECK-NEXT: extern: false143# CHECK-NEXT: type: 9144# CHECK-NEXT: scattered: true145# CHECK-NEXT: value: 100146# CHECK-NEXT: - address: 0x1E147# CHECK-NEXT: symbolnum: 0148# CHECK-NEXT: pcrel: false149# CHECK-NEXT: length: 3150# CHECK-NEXT: extern: false151# CHECK-NEXT: type: 1152# CHECK-NEXT: scattered: true153# CHECK-NEXT: value: 66154# CHECK-NEXT: - address: 0x16155# CHECK-NEXT: symbolnum: 0156# CHECK-NEXT: pcrel: false157# CHECK-NEXT: length: 2158# CHECK-NEXT: extern: false159# CHECK-NEXT: type: 9160# CHECK-NEXT: scattered: true161# CHECK-NEXT: value: 100162# CHECK-NEXT: - address: 0x0163# CHECK-NEXT: symbolnum: 0164# CHECK-NEXT: pcrel: false165# CHECK-NEXT: length: 2166# CHECK-NEXT: extern: false167# CHECK-NEXT: type: 1168# CHECK-NEXT: scattered: true169# CHECK-NEXT: value: 66170# CHECK-NEXT: - address: 0xE171# CHECK-NEXT: symbolnum: 0172# CHECK-NEXT: pcrel: false173# CHECK-NEXT: length: 3174# CHECK-NEXT: extern: false175# CHECK-NEXT: type: 9176# CHECK-NEXT: scattered: true177# CHECK-NEXT: value: 84178# CHECK-NEXT: - address: 0x1A179# CHECK-NEXT: symbolnum: 0180# CHECK-NEXT: pcrel: false181# CHECK-NEXT: length: 3182# CHECK-NEXT: extern: false183# CHECK-NEXT: type: 1184# CHECK-NEXT: scattered: true185# CHECK-NEXT: value: 54186# CHECK-NEXT: - address: 0xA187# CHECK-NEXT: symbolnum: 0188# CHECK-NEXT: pcrel: false189# CHECK-NEXT: length: 2190# CHECK-NEXT: extern: false191# CHECK-NEXT: type: 9192# CHECK-NEXT: scattered: true193# CHECK-NEXT: value: 84194# CHECK-NEXT: - address: 0x0195# CHECK-NEXT: symbolnum: 0196# CHECK-NEXT: pcrel: false197# CHECK-NEXT: length: 2198# CHECK-NEXT: extern: false199# CHECK-NEXT: type: 1200# CHECK-NEXT: scattered: true201# CHECK-NEXT: value: 54202# CHECK-NEXT: - address: 0x4203# CHECK-NEXT: symbolnum: 0204# CHECK-NEXT: pcrel: false205# CHECK-NEXT: length: 3206# CHECK-NEXT: extern: false207# CHECK-NEXT: type: 9208# CHECK-NEXT: scattered: true209# CHECK-NEXT: value: 88210# CHECK-NEXT: - address: 0x28211# CHECK-NEXT: symbolnum: 0212# CHECK-NEXT: pcrel: false213# CHECK-NEXT: length: 3214# CHECK-NEXT: extern: false215# CHECK-NEXT: type: 1216# CHECK-NEXT: scattered: true217# CHECK-NEXT: value: 44218# CHECK-NEXT: - address: 0x0219# CHECK-NEXT: symbolnum: 0220# CHECK-NEXT: pcrel: false221# CHECK-NEXT: length: 2222# CHECK-NEXT: extern: false223# CHECK-NEXT: type: 9224# CHECK-NEXT: scattered: true225# CHECK-NEXT: value: 88226# CHECK-NEXT: - address: 0x0227# CHECK-NEXT: symbolnum: 0228# CHECK-NEXT: pcrel: false229# CHECK-NEXT: length: 2230# CHECK-NEXT: extern: false231# CHECK-NEXT: type: 1232# CHECK-NEXT: scattered: true233# CHECK-NEXT: value: 44234# CHECK-NEXT: - sectname: __data235# CHECK-NEXT: segname: __DATA236# CHECK-NEXT: addr: 0x54237# CHECK-NEXT: size: 12238# CHECK-NEXT: offset: 0x274239# CHECK-NEXT: align: 2240# CHECK-NEXT: reloff: 0x32C241# CHECK-NEXT: nreloc: 1242# CHECK-NEXT: flags: 0x0243# CHECK-NEXT: reserved1: 0x0244# CHECK-NEXT: reserved2: 0x0245# CHECK-NEXT: reserved3: 0x0246# CHECK-NEXT: content:247# CHECK-NEXT: relocations:248# CHECK-NEXT: - address: 0x8249# CHECK-NEXT: symbolnum: 3250# CHECK-NEXT: pcrel: false251# CHECK-NEXT: length: 2252# CHECK-NEXT: extern: false253# CHECK-NEXT: type: 0254# CHECK-NEXT: scattered: false255# CHECK-NEXT: value: 0256# CHECK-NEXT: - sectname: __common257# CHECK-NEXT: segname: __DATA258# CHECK-NEXT: addr: 0x64259# CHECK-NEXT: size: 4260# CHECK-NEXT: offset: 0x0261# CHECK-NEXT: align: 2262# CHECK-NEXT: reloff: 0x0263# CHECK-NEXT: nreloc: 0264# CHECK-NEXT: flags: 0x1265# CHECK-NEXT: reserved1: 0x0266# CHECK-NEXT: reserved2: 0x0267# CHECK-NEXT: reserved3: 0x0268# CHECK-NEXT: - sectname: __mod_init_func269# CHECK-NEXT: segname: __DATA270# CHECK-NEXT: addr: 0x60271# CHECK-NEXT: size: 4272# CHECK-NEXT: offset: 0x280273# CHECK-NEXT: align: 2274# CHECK-NEXT: reloff: 0x334275# CHECK-NEXT: nreloc: 1276# CHECK-NEXT: flags: 0x9277# CHECK-NEXT: reserved1: 0x0278# CHECK-NEXT: reserved2: 0x0279# CHECK-NEXT: reserved3: 0x0280# CHECK-NEXT: content: '48000000'281# CHECK-NEXT: relocations:282# CHECK-NEXT: - address: 0x0283# CHECK-NEXT: symbolnum: 2284# CHECK-NEXT: pcrel: false285# CHECK-NEXT: length: 2286# CHECK-NEXT: extern: false287# CHECK-NEXT: type: 0288# CHECK-NEXT: scattered: false289# CHECK-NEXT: value: 0290 291--- !mach-o292FileHeader:293 magic: 0xFEEDFACE294 cputype: 0x0000000C295 cpusubtype: 0x00000009296 filetype: 0x00000001297 ncmds: 4298 sizeofcmds: 516299 flags: 0x00002000300LoadCommands:301 - cmd: LC_SEGMENT302 cmdsize: 396303 segname: ''304 vmaddr: 0305 vmsize: 104306 fileoff: 544307 filesize: 100308 maxprot: 7309 initprot: 7310 nsects: 5311 flags: 0312 Sections:313 - sectname: __text314 segname: __TEXT315 addr: 0x0000000000000000316 size: 36317 offset: 0x00000220318 align: 1319 reloff: 0x00000284320 nreloc: 8321 flags: 0x80000400322 reserved1: 0x00000000323 reserved2: 0x00000000324 reserved3: 0x00000000325 content: 81B00020009040F24A00C0F200007844006840F24601C0F2000179440968084401B07047326 relocations:327 - address: 0x00000016328 symbolnum: 0329 pcrel: false330 length: 3331 extern: false332 type: 9333 scattered: true334 value: 100335 - address: 0x00000046336 symbolnum: 0337 pcrel: false338 length: 3339 extern: false340 type: 1341 scattered: true342 value: 26343 - address: 0x00000012344 symbolnum: 0345 pcrel: false346 length: 2347 extern: false348 type: 9349 scattered: true350 value: 100351 - address: 0x00000000352 symbolnum: 0353 pcrel: false354 length: 2355 extern: false356 type: 1357 scattered: true358 value: 26359 - address: 0x0000000A360 symbolnum: 0361 pcrel: false362 length: 3363 extern: false364 type: 9365 scattered: true366 value: 92367 - address: 0x0000004A368 symbolnum: 0369 pcrel: false370 length: 3371 extern: false372 type: 1373 scattered: true374 value: 14375 - address: 0x00000006376 symbolnum: 0377 pcrel: false378 length: 2379 extern: false380 type: 9381 scattered: true382 value: 92383 - address: 0x00000000384 symbolnum: 0385 pcrel: false386 length: 2387 extern: false388 type: 1389 scattered: true390 value: 14391 - sectname: __StaticInit392 segname: __TEXT393 addr: 0x0000000000000024394 size: 46395 offset: 0x00000244396 align: 1397 reloff: 0x000002C4398 nreloc: 13399 flags: 0x80000400400 reserved1: 0x00000000401 reserved2: 0x00000000402 reserved3: 0x00000000403 content: 40F22800C0F20000784440F21A01C0F200017944081A40F21E01C0F2000179440860704780B56F46FFF7EAFF80BD404 relocations:405 - address: 0x00000028406 symbolnum: 2407 pcrel: true408 length: 2409 extern: false410 type: 6411 scattered: false412 value: 0413 - address: 0x0000001A414 symbolnum: 0415 pcrel: false416 length: 3417 extern: false418 type: 9419 scattered: true420 value: 100421 - address: 0x0000001E422 symbolnum: 0423 pcrel: false424 length: 3425 extern: false426 type: 1427 scattered: true428 value: 66429 - address: 0x00000016430 symbolnum: 0431 pcrel: false432 length: 2433 extern: false434 type: 9435 scattered: true436 value: 100437 - address: 0x00000000438 symbolnum: 0439 pcrel: false440 length: 2441 extern: false442 type: 1443 scattered: true444 value: 66445 - address: 0x0000000E446 symbolnum: 0447 pcrel: false448 length: 3449 extern: false450 type: 9451 scattered: true452 value: 84453 - address: 0x0000001A454 symbolnum: 0455 pcrel: false456 length: 3457 extern: false458 type: 1459 scattered: true460 value: 54461 - address: 0x0000000A462 symbolnum: 0463 pcrel: false464 length: 2465 extern: false466 type: 9467 scattered: true468 value: 84469 - address: 0x00000000470 symbolnum: 0471 pcrel: false472 length: 2473 extern: false474 type: 1475 scattered: true476 value: 54477 - address: 0x00000004478 symbolnum: 0479 pcrel: false480 length: 3481 extern: false482 type: 9483 scattered: true484 value: 88485 - address: 0x00000028486 symbolnum: 0487 pcrel: false488 length: 3489 extern: false490 type: 1491 scattered: true492 value: 44493 - address: 0x00000000494 symbolnum: 0495 pcrel: false496 length: 2497 extern: false498 type: 9499 scattered: true500 value: 88501 - address: 0x00000000502 symbolnum: 0503 pcrel: false504 length: 2505 extern: false506 type: 1507 scattered: true508 value: 44509 - sectname: __data510 segname: __DATA511 addr: 0x0000000000000054512 size: 12513 offset: 0x00000274514 align: 2515 reloff: 0x0000032C516 nreloc: 1517 flags: 0x00000000518 reserved1: 0x00000000519 reserved2: 0x00000000520 reserved3: 0x00000000521 content: '010000000200000054000000'522 relocations:523 - address: 0x00000008524 symbolnum: 3525 pcrel: false526 length: 2527 extern: false528 type: 0529 scattered: false530 value: 0531 - sectname: __common532 segname: __DATA533 addr: 0x0000000000000064534 size: 4535 offset: 0x00000000536 align: 2537 reloff: 0x00000000538 nreloc: 0539 flags: 0x00000001540 reserved1: 0x00000000541 reserved2: 0x00000000542 reserved3: 0x00000000543 - sectname: __mod_init_func544 segname: __DATA545 addr: 0x0000000000000060546 size: 4547 offset: 0x00000280548 align: 2549 reloff: 0x00000334550 nreloc: 1551 flags: 0x00000009552 reserved1: 0x00000000553 reserved2: 0x00000000554 reserved3: 0x00000000555 content: '48000000'556 relocations:557 - address: 0x00000000558 symbolnum: 2559 pcrel: false560 length: 2561 extern: false562 type: 0563 scattered: false564 value: 0565 - cmd: LC_VERSION_MIN_IPHONEOS566 cmdsize: 16567 version: 589824568 sdk: 0569 - cmd: LC_SYMTAB570 cmdsize: 24571 symoff: 828572 nsyms: 7573 stroff: 912574 strsize: 68575 - cmd: LC_DYSYMTAB576 cmdsize: 80577 ilocalsym: 0578 nlocalsym: 2579 iextdefsym: 2580 nextdefsym: 5581 iundefsym: 7582 nundefsym: 0583 tocoff: 0584 ntoc: 0585 modtaboff: 0586 nmodtab: 0587 extrefsymoff: 0588 nextrefsyms: 0589 indirectsymoff: 0590 nindirectsyms: 0591 extreloff: 0592 nextrel: 0593 locreloff: 0594 nlocrel: 0595LinkEditData:596 NameList:597 - n_strx: 13598 n_type: 0x0E599 n_sect: 2600 n_desc: 8601 n_value: 36602 - n_strx: 36603 n_type: 0x0E604 n_sect: 2605 n_desc: 8606 n_value: 72607 - n_strx: 61608 n_type: 0x0F609 n_sect: 1610 n_desc: 8611 n_value: 0612 - n_strx: 10613 n_type: 0x0F614 n_sect: 4615 n_desc: 0616 n_value: 100617 - n_strx: 7618 n_type: 0x0F619 n_sect: 3620 n_desc: 0621 n_value: 84622 - n_strx: 4623 n_type: 0x0F624 n_sect: 3625 n_desc: 0626 n_value: 88627 - n_strx: 1628 n_type: 0x0F629 n_sect: 3630 n_desc: 0631 n_value: 92632 StringTable:633 - ''634 - _z635 - _y636 - _x637 - _w638 - ___cxx_global_var_init639 - __GLOBAL__sub_I_main.cpp640 - _main641 - ''642...643