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