149 lines · plain
1// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj --file-headers -S -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols - | FileCheck %s2 3 .long 04text_def_int:5 .long 06 7 .globl text_def_ext8text_def_ext:9 .long 010 11 .data12 .long 013data_def_int:14 .long 015 16 .globl data_def_ext17data_def_ext:18 .long 019 20// CHECK: File: <stdin>21// CHECK: Format: Mach-O 32-bit i38622// CHECK: Arch: i38623// CHECK: AddressSize: 32bit24// CHECK: MachHeader {25// CHECK: Magic: Magic (0xFEEDFACE)26// CHECK: CpuType: X86 (0x7)27// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)28// CHECK: FileType: Relocatable (0x1)29// CHECK: NumOfLoadCommands: 430// CHECK: SizeOfLoadCommands: 31231// CHECK: Flags [ (0x0)32// CHECK: ]33// CHECK: }34// CHECK: Sections [35// CHECK: Section {36// CHECK: Index: 037// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)38// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)39// CHECK: Address: 0x040// CHECK: Size: 0xC41// CHECK: Offset: 34042// CHECK: Alignment: 043// CHECK: RelocationOffset: 0x044// CHECK: RelocationCount: 045// CHECK: Type: Regular (0x0)46// CHECK: Attributes [ (0x800000)47// CHECK: PureInstructions (0x800000)48// CHECK: ]49// CHECK: Reserved1: 0x050// CHECK: Reserved2: 0x051// CHECK: }52// CHECK: Section {53// CHECK: Index: 154// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)55// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)56// CHECK: Address: 0xC57// CHECK: Size: 0xC58// CHECK: Offset: 35259// CHECK: Alignment: 060// CHECK: RelocationOffset: 0x061// CHECK: RelocationCount: 062// CHECK: Type: Regular (0x0)63// CHECK: Attributes [ (0x0)64// CHECK: ]65// CHECK: Reserved1: 0x066// CHECK: Reserved2: 0x067// CHECK: }68// CHECK: ]69// CHECK: Relocations [70// CHECK: ]71// CHECK: Symbols [72// CHECK: Symbol {73// CHECK: Name: text_def_int (27)74// CHECK: Type: Section (0xE)75// CHECK: Section: __text (0x1)76// CHECK: RefType: UndefinedNonLazy (0x0)77// CHECK: Flags [ (0x0)78// CHECK: ]79// CHECK: Value: 0x480// CHECK: }81// CHECK: Symbol {82// CHECK: Name: data_def_int (40)83// CHECK: Type: Section (0xE)84// CHECK: Section: __data (0x2)85// CHECK: RefType: UndefinedNonLazy (0x0)86// CHECK: Flags [ (0x0)87// CHECK: ]88// CHECK: Value: 0x1089// CHECK: }90// CHECK: Symbol {91// CHECK: Name: data_def_ext (14)92// CHECK: Extern93// CHECK: Type: Section (0xE)94// CHECK: Section: __data (0x2)95// CHECK: RefType: UndefinedNonLazy (0x0)96// CHECK: Flags [ (0x0)97// CHECK: ]98// CHECK: Value: 0x1499// CHECK: }100// CHECK: Symbol {101// CHECK: Name: text_def_ext (1)102// CHECK: Extern103// CHECK: Type: Section (0xE)104// CHECK: Section: __text (0x1)105// CHECK: RefType: UndefinedNonLazy (0x0)106// CHECK: Flags [ (0x0)107// CHECK: ]108// CHECK: Value: 0x8109// CHECK: }110// CHECK: ]111// CHECK: Indirect Symbols {112// CHECK: Number: 0113// CHECK: Symbols [114// CHECK: ]115// CHECK: }116// CHECK: Segment {117// CHECK: Cmd: LC_SEGMENT118// CHECK: Name: 119// CHECK: Size: 192120// CHECK: vmaddr: 0x0121// CHECK: vmsize: 0x18122// CHECK: fileoff: 340123// CHECK: filesize: 24124// CHECK: maxprot: rwx125// CHECK: initprot: rwx126// CHECK: nsects: 2127// CHECK: flags: 0x0128// CHECK: }129// CHECK: Dysymtab {130// CHECK: ilocalsym: 0131// CHECK: nlocalsym: 2132// CHECK: iextdefsym: 2133// CHECK: nextdefsym: 2134// CHECK: iundefsym: 4135// CHECK: nundefsym: 0136// CHECK: tocoff: 0137// CHECK: ntoc: 0138// CHECK: modtaboff: 0139// CHECK: nmodtab: 0140// CHECK: extrefsymoff: 0141// CHECK: nextrefsyms: 0142// CHECK: indirectsymoff: 0143// CHECK: nindirectsyms: 0144// CHECK: extreloff: 0145// CHECK: nextrel: 0146// CHECK: locreloff: 0147// CHECK: nlocrel: 0148// CHECK: }149