151 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 .byte 04 5 // There should be 3 padding bytes here.6 7 .data8 .align 29foo:10 .org 811bar:12 .byte 013 14 .const15baz:16 17// CHECK: File: <stdin>18// CHECK: Format: Mach-O 32-bit i38619// CHECK: Arch: i38620// CHECK: AddressSize: 32bit21// CHECK: MachHeader {22// CHECK: Magic: Magic (0xFEEDFACE)23// CHECK: CpuType: X86 (0x7)24// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)25// CHECK: FileType: Relocatable (0x1)26// CHECK: NumOfLoadCommands: 427// CHECK: SizeOfLoadCommands: 38028// CHECK: Flags [ (0x0)29// CHECK: ]30// CHECK: }31// CHECK: Sections [32// CHECK: Section {33// CHECK: Index: 034// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)35// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)36// CHECK: Address: 0x037// CHECK: Size: 0x138// CHECK: Offset: 40839// CHECK: Alignment: 040// CHECK: RelocationOffset: 0x041// CHECK: RelocationCount: 042// CHECK: Type: Regular (0x0)43// CHECK: Attributes [ (0x800000)44// CHECK: PureInstructions (0x800000)45// CHECK: ]46// CHECK: Reserved1: 0x047// CHECK: Reserved2: 0x048// CHECK: }49// CHECK: Section {50// CHECK: Index: 151// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)52// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)53// CHECK: Address: 0x454// CHECK: Size: 0x955// CHECK: Offset: 41256// CHECK: Alignment: 257// CHECK: RelocationOffset: 0x058// CHECK: RelocationCount: 059// CHECK: Type: Regular (0x0)60// CHECK: Attributes [ (0x0)61// CHECK: ]62// CHECK: Reserved1: 0x063// CHECK: Reserved2: 0x064// CHECK: }65// CHECK: Section {66// CHECK: Index: 267// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00)68// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)69// CHECK: Address: 0xD70// CHECK: Size: 0x071// CHECK: Offset: 42172// CHECK: Alignment: 073// CHECK: RelocationOffset: 0x074// CHECK: RelocationCount: 075// CHECK: Type: Regular (0x0)76// CHECK: Attributes [ (0x0)77// CHECK: ]78// CHECK: Reserved1: 0x079// CHECK: Reserved2: 0x080// CHECK: }81// CHECK: ]82// CHECK: Relocations [83// CHECK: ]84// CHECK: Symbols [85// CHECK: Symbol {86// CHECK: Name: foo (9)87// CHECK: Type: Section (0xE)88// CHECK: Section: __data (0x2)89// CHECK: RefType: UndefinedNonLazy (0x0)90// CHECK: Flags [ (0x0)91// CHECK: ]92// CHECK: Value: 0x493// CHECK: }94// CHECK: Symbol {95// CHECK: Name: bar (5)96// CHECK: Type: Section (0xE)97// CHECK: Section: __data (0x2)98// CHECK: RefType: UndefinedNonLazy (0x0)99// CHECK: Flags [ (0x0)100// CHECK: ]101// CHECK: Value: 0xC102// CHECK: }103// CHECK: Symbol {104// CHECK: Name: baz (1)105// CHECK: Type: Section (0xE)106// CHECK: Section: __const (0x3)107// CHECK: RefType: UndefinedNonLazy (0x0)108// CHECK: Flags [ (0x0)109// CHECK: ]110// CHECK: Value: 0xD111// CHECK: }112// CHECK: ]113// CHECK: Indirect Symbols {114// CHECK: Number: 0115// CHECK: Symbols [116// CHECK: ]117// CHECK: }118// CHECK: Segment {119// CHECK: Cmd: LC_SEGMENT120// CHECK: Name: 121// CHECK: Size: 260122// CHECK: vmaddr: 0x0123// CHECK: vmsize: 0xD124// CHECK: fileoff: 408125// CHECK: filesize: 13126// CHECK: maxprot: rwx127// CHECK: initprot: rwx128// CHECK: nsects: 3129// CHECK: flags: 0x0130// CHECK: }131// CHECK: Dysymtab {132// CHECK: ilocalsym: 0133// CHECK: nlocalsym: 3134// CHECK: iextdefsym: 3135// CHECK: nextdefsym: 0136// CHECK: iundefsym: 3137// CHECK: nundefsym: 0138// CHECK: tocoff: 0139// CHECK: ntoc: 0140// CHECK: modtaboff: 0141// CHECK: nmodtab: 0142// CHECK: extrefsymoff: 0143// CHECK: nextrefsyms: 0144// CHECK: indirectsymoff: 0145// CHECK: nindirectsyms: 0146// CHECK: extreloff: 0147// CHECK: nextrel: 0148// CHECK: locreloff: 0149// CHECK: nlocrel: 0150// CHECK: }151