120 lines · plain
1// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj --file-headers -S --sd -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols - | FileCheck %s2 3nop4 .section __TEXT,__StaticInit,regular,pure_instructions5 calll foo6 7// CHECK: File: <stdin>8// CHECK: Format: Mach-O 32-bit i3869// CHECK: Arch: i38610// CHECK: AddressSize: 32bit11// CHECK: MachHeader {12// CHECK: Magic: Magic (0xFEEDFACE)13// CHECK: CpuType: X86 (0x7)14// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)15// CHECK: FileType: Relocatable (0x1)16// CHECK: NumOfLoadCommands: 417// CHECK: SizeOfLoadCommands: 31218// CHECK: Flags [ (0x0)19// CHECK: ]20// CHECK: }21// CHECK: Sections [22// CHECK: Section {23// CHECK: Index: 024// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)25// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)26// CHECK: Address: 0x027// CHECK: Size: 0x128// CHECK: Offset: 34029// CHECK: Alignment: 030// CHECK: RelocationOffset: 0x031// CHECK: RelocationCount: 032// CHECK: Type: Regular (0x0)33// CHECK: Attributes [ (0x800004)34// CHECK: PureInstructions (0x800000)35// CHECK: SomeInstructions (0x4)36// CHECK: ]37// CHECK: Reserved1: 0x038// CHECK: Reserved2: 0x039// CHECK: SectionData (40// CHECK: 0000: 90 |.|41// CHECK: )42// CHECK: }43// CHECK: Section {44// CHECK: Index: 145// CHECK: Name: __StaticInit (5F 5F 53 74 61 74 69 63 49 6E 69 74 00 00 00 00)46// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)47// CHECK: Address: 0x148// CHECK: Size: 0x549// CHECK: Offset: 34150// CHECK: Alignment: 051// CHECK: RelocationOffset: 0x15C52// CHECK: RelocationCount: 153// CHECK: Type: Regular (0x0)54// CHECK: Attributes [ (0x800004)55// CHECK: PureInstructions (0x800000)56// CHECK: SomeInstructions (0x4)57// CHECK: ]58// CHECK: Reserved1: 0x059// CHECK: Reserved2: 0x060// CHECK: SectionData (61// CHECK: 0000: E8FAFFFF FF |.....|62// CHECK: )63// CHECK: }64// CHECK: ]65// CHECK: Relocations [66// CHECK: Section __StaticInit {67// CHECK: 0x1 1 2 1 GENERIC_RELOC_VANILLA 0 foo68// CHECK: }69// CHECK: ]70// CHECK: Symbols [71// CHECK: Symbol {72// CHECK: Name: foo (1)73// CHECK: Extern74// CHECK: Type: Undef (0x0)75// CHECK: Section: (0x0)76// CHECK: RefType: UndefinedNonLazy (0x0)77// CHECK: Flags [ (0x0)78// CHECK: ]79// CHECK: Value: 0x080// CHECK: }81// CHECK: ]82// CHECK: Indirect Symbols {83// CHECK: Number: 084// CHECK: Symbols [85// CHECK: ]86// CHECK: }87// CHECK: Segment {88// CHECK: Cmd: LC_SEGMENT89// CHECK: Name: 90// CHECK: Size: 19291// CHECK: vmaddr: 0x092// CHECK: vmsize: 0x693// CHECK: fileoff: 34094// CHECK: filesize: 695// CHECK: maxprot: rwx96// CHECK: initprot: rwx97// CHECK: nsects: 298// CHECK: flags: 0x099// CHECK: }100// CHECK: Dysymtab {101// CHECK: ilocalsym: 0102// CHECK: nlocalsym: 0103// CHECK: iextdefsym: 0104// CHECK: nextdefsym: 0105// CHECK: iundefsym: 0106// CHECK: nundefsym: 1107// CHECK: tocoff: 0108// CHECK: ntoc: 0109// CHECK: modtaboff: 0110// CHECK: nmodtab: 0111// CHECK: extrefsymoff: 0112// CHECK: nextrefsyms: 0113// CHECK: indirectsymoff: 0114// CHECK: nindirectsyms: 0115// CHECK: extreloff: 0116// CHECK: nextrel: 0117// CHECK: locreloff: 0118// CHECK: nlocrel: 0119// CHECK: }120