1// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t --macho-segment --macho-dysymtab --macho-indirect-symbols | FileCheck %s 2 3 .text 4 .byte 0 // Align to 2**3 bytes, not 2**1 5 6 .zerofill __DATA, __common, zfill, 2, 1 7 8 .data 9 .align 3 10 11// CHECK: File: <stdin> 12// CHECK: Format: Mach-O 32-bit i386 13// CHECK: Arch: i386 14// CHECK: AddressSize: 32bit 15// CHECK: MachHeader { 16// CHECK: Magic: Magic (0xFEEDFACE) 17// CHECK: CpuType: X86 (0x7) 18// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) 19// CHECK: FileType: Relocatable (0x1) 20// CHECK: NumOfLoadCommands: 4 21// CHECK: SizeOfLoadCommands: 380 22// CHECK: Flags [ (0x0) 23// CHECK: ] 24// CHECK: } 25// CHECK: Sections [ 26// CHECK: Section { 27// CHECK: Index: 0 28// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) 29// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 30// CHECK: Address: 0x0 31// CHECK: Size: 0x1 32// CHECK: Offset: 408 33// CHECK: Alignment: 0 34// CHECK: RelocationOffset: 0x0 35// CHECK: RelocationCount: 0 36// CHECK: Type: 0x0 37// CHECK: Attributes [ (0x800000) 38// CHECK: PureInstructions (0x800000) 39// CHECK: ] 40// CHECK: Reserved1: 0x0 41// CHECK: Reserved2: 0x0 42// CHECK: SectionData ( 43// CHECK: 0000: 00 |.| 44// CHECK: ) 45// CHECK: } 46// CHECK: Section { 47// CHECK: Index: 1 48// CHECK: Name: __common (5F 5F 63 6F 6D 6D 6F 6E 00 00 00 00 00 00 00 00) 49// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) 50// CHECK: Address: 0x8 51// CHECK: Size: 0x2 52// CHECK: Offset: 0 53// CHECK: Alignment: 1 54// CHECK: RelocationOffset: 0x0 55// CHECK: RelocationCount: 0 56// CHECK: Type: LocReloc (0x1) 57// CHECK: Attributes [ (0x0) 58// CHECK: ] 59// CHECK: Reserved1: 0x0 60// CHECK: Reserved2: 0x0 61// CHECK: } 62// CHECK: Section { 63// CHECK: Index: 2 64// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) 65// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) 66// CHECK: Address: 0x8 67// CHECK: Size: 0x0 68// CHECK: Offset: 416 69// CHECK: Alignment: 3 70// CHECK: RelocationOffset: 0x0 71// CHECK: RelocationCount: 0 72// CHECK: Type: 0x0 73// CHECK: Attributes [ (0x0) 74// CHECK: ] 75// CHECK: Reserved1: 0x0 76// CHECK: Reserved2: 0x0 77// CHECK: SectionData ( 78// CHECK: ) 79// CHECK: } 80// CHECK: ] 81// CHECK: Relocations [ 82// CHECK: ] 83// CHECK: Symbols [ 84// CHECK: Symbol { 85// CHECK: Name: zfill (1) 86// CHECK: Type: Section (0xE) 87// CHECK: Section: __common (0x2) 88// CHECK: RefType: UndefinedNonLazy (0x0) 89// CHECK: Flags [ (0x0) 90// CHECK: ] 91// CHECK: Value: 0x8 92// CHECK: } 93// CHECK: ] 94// CHECK: Indirect Symbols { 95// CHECK: Number: 0 96// CHECK: Symbols [ 97// CHECK: ] 98// CHECK: } 99// CHECK: Segment { 100// CHECK: Cmd: LC_SEGMENT 101// CHECK: Name: 102// CHECK: Size: 260 103// CHECK: vmaddr: 0x0 104// CHECK: vmsize: 0xA 105// CHECK: fileoff: 408 106// CHECK: filesize: 8 107// CHECK: maxprot: rwx 108// CHECK: initprot: rwx 109// CHECK: nsects: 3 110// CHECK: flags: 0x0 111// CHECK: } 112// CHECK: Dysymtab { 113// CHECK: ilocalsym: 0 114// CHECK: nlocalsym: 1 115// CHECK: iextdefsym: 1 116// CHECK: nextdefsym: 0 117// CHECK: iundefsym: 1 118// CHECK: nundefsym: 0 119// CHECK: tocoff: 0 120// CHECK: ntoc: 0 121// CHECK: modtaboff: 0 122// CHECK: nmodtab: 0 123// CHECK: extrefsymoff: 0 124// CHECK: nextrefsyms: 0 125// CHECK: indirectsymoff: 0 126// CHECK: nindirectsyms: 0 127// CHECK: extreloff: 0 128// CHECK: nextrel: 0 129// CHECK: locreloff: 0 130// CHECK: nlocrel: 0 131// CHECK: } 132