179 lines · plain
1// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj --file-headers -S -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols - | FileCheck %s2 3_bar:4 nop5_foo:6 nop7 8 .set foo_set1, (_foo + 0xffff0000)9 .set foo_set2, (_foo - _bar + 0xffff0000)10 11foo_equals = (_foo + 0xffff0000)12foo_equals2 = (_foo - _bar + 0xffff0000)13 14 .globl foo_set1_global;15 .set foo_set1_global, (_foo + 0xffff0000)16 17 .globl foo_set2_global;18 .set foo_set2_global, (_foo - _bar + 0xffff0000)19 20// CHECK: File: <stdin>21// CHECK: Format: Mach-O 64-bit x86-6422// CHECK: Arch: x86_6423// CHECK: AddressSize: 64bit24// CHECK: MachHeader {25// CHECK: Magic: Magic64 (0xFEEDFACF)26// CHECK: CpuType: X86-64 (0x1000007)27// CHECK: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)28// CHECK: FileType: Relocatable (0x1)29// CHECK: NumOfLoadCommands: 430// CHECK: SizeOfLoadCommands: 27231// CHECK: Flags [ (0x0)32// CHECK: ]33// CHECK: Reserved: 0x034// CHECK: }35// CHECK: Sections [36// CHECK: Section {37// CHECK: Index: 038// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)39// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)40// CHECK: Address: 0x041// CHECK: Size: 0x242// CHECK: Offset: 30443// CHECK: Alignment: 044// CHECK: RelocationOffset: 0x045// CHECK: RelocationCount: 046// CHECK: Type: Regular (0x0)47// CHECK: Attributes [ (0x800004)48// CHECK: PureInstructions (0x800000)49// CHECK: SomeInstructions (0x4)50// CHECK: ]51// CHECK: Reserved1: 0x052// CHECK: Reserved2: 0x053// CHECK: Reserved3: 0x054// CHECK: }55// CHECK: ]56// CHECK: Relocations [57// CHECK: ]58// CHECK: Symbols [59// CHECK: Symbol {60// CHECK: Name: _bar (12)61// CHECK: Type: Section (0xE)62// CHECK: Section: __text (0x1)63// CHECK: RefType: UndefinedNonLazy (0x0)64// CHECK: Flags [ (0x0)65// CHECK: ]66// CHECK: Value: 0x067// CHECK: }68// CHECK: Symbol {69// CHECK: Name: _foo (17)70// CHECK: Type: Section (0xE)71// CHECK: Section: __text (0x1)72// CHECK: RefType: UndefinedNonLazy (0x0)73// CHECK: Flags [ (0x0)74// CHECK: ]75// CHECK: Value: 0x176// CHECK: }77// CHECK: Symbol {78// CHECK: Name: foo_set1 (75)79// CHECK: Type: Section (0xE)80// CHECK: Section: __text (0x1)81// CHECK: RefType: UndefinedNonLazy (0x0)82// CHECK: Flags [ (0x220)83// CHECK: AltEntry (0x200)84// CHECK: NoDeadStrip (0x20)85// CHECK: ]86// CHECK: Value: 0xFFFF000187// CHECK: }88// CHECK: Symbol {89// CHECK: Name: foo_set2 (54)90// CHECK: Type: Abs (0x2)91// CHECK: Section: (0x0)92// CHECK: RefType: UndefinedNonLazy (0x0)93// CHECK: Flags [ (0x20)94// CHECK: NoDeadStrip (0x20)95// CHECK: ]96// CHECK: Value: 0xFFFF000197// CHECK: }98// CHECK: Symbol {99// CHECK: Name: foo_equals (1)100// CHECK: Type: Section (0xE)101// CHECK: Section: __text (0x1)102// CHECK: RefType: UndefinedNonLazy (0x0)103// CHECK: Flags [ (0x200)104// CHECK: AltEntry (0x200)105// CHECK: ]106// CHECK: Value: 0xFFFF0001107// CHECK: }108// CHECK: Symbol {109// CHECK: Name: foo_equals2 (63)110// CHECK: Type: Abs (0x2)111// CHECK: Section: (0x0)112// CHECK: RefType: UndefinedNonLazy (0x0)113// CHECK: Flags [ (0x0)114// CHECK: ]115// CHECK: Value: 0xFFFF0001116// CHECK: }117// CHECK: Symbol {118// CHECK: Name: foo_set1_global (38)119// CHECK: Extern120// CHECK: Type: Section (0xE)121// CHECK: Section: __text (0x1)122// CHECK: RefType: UndefinedNonLazy (0x0)123// CHECK: Flags [ (0x220)124// CHECK: AltEntry (0x200)125// CHECK: NoDeadStrip (0x20)126// CHECK: ]127// CHECK: Value: 0xFFFF0001128// CHECK: }129// CHECK: Symbol {130// CHECK: Name: foo_set2_global (22)131// CHECK: Extern132// CHECK: Type: Abs (0x2)133// CHECK: Section: (0x0)134// CHECK: RefType: UndefinedNonLazy (0x0)135// CHECK: Flags [ (0x20)136// CHECK: NoDeadStrip (0x20)137// CHECK: ]138// CHECK: Value: 0xFFFF0001139// CHECK: }140// CHECK: ]141// CHECK: Indirect Symbols {142// CHECK: Number: 0143// CHECK: Symbols [144// CHECK: ]145// CHECK: }146// CHECK: Segment {147// CHECK: Cmd: LC_SEGMENT_64148// CHECK: Name: 149// CHECK: Size: 152150// CHECK: vmaddr: 0x0151// CHECK: vmsize: 0x2152// CHECK: fileoff: 304153// CHECK: filesize: 2154// CHECK: maxprot: rwx155// CHECK: initprot: rwx156// CHECK: nsects: 1157// CHECK: flags: 0x0158// CHECK: }159// CHECK: Dysymtab {160// CHECK: ilocalsym: 0161// CHECK: nlocalsym: 6162// CHECK: iextdefsym: 6163// CHECK: nextdefsym: 2164// CHECK: iundefsym: 8165// CHECK: nundefsym: 0166// CHECK: tocoff: 0167// CHECK: ntoc: 0168// CHECK: modtaboff: 0169// CHECK: nmodtab: 0170// CHECK: extrefsymoff: 0171// CHECK: nextrefsyms: 0172// CHECK: indirectsymoff: 0173// CHECK: nindirectsyms: 0174// CHECK: extreloff: 0175// CHECK: nextrel: 0176// CHECK: locreloff: 0177// CHECK: nlocrel: 0178// CHECK: }179