1*9880d681SAndroid Build Coastguard Worker// 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*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker .section __DATA,__datacoal_nt,coalesced 4*9880d681SAndroid Build Coastguard Worker .section __TEXT,__const_coal,coalesced 5*9880d681SAndroid Build Coastguard Worker .globl __ZTS3optIbE ## @_ZTS3optIbE 6*9880d681SAndroid Build Coastguard Worker .weak_definition __ZTS3optIbE 7*9880d681SAndroid Build Coastguard Worker__ZTS3optIbE: 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker .section __DATA,__datacoal_nt,coalesced 11*9880d681SAndroid Build Coastguard Worker .globl __ZTI3optIbE ## @_ZTI3optIbE 12*9880d681SAndroid Build Coastguard Worker .weak_definition __ZTI3optIbE 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker__ZTI3optIbE: 15*9880d681SAndroid Build Coastguard Worker .long __ZTS3optIbE 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker// CHECK: File: <stdin> 18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Format: Mach-O 32-bit i386 19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Arch: i386 20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: AddressSize: 32bit 21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: MachHeader { 22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Magic: Magic (0xFEEDFACE) 23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: CpuType: X86 (0x7) 24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) 25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: FileType: Relocatable (0x1) 26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: NumOfLoadCommands: 4 27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: SizeOfLoadCommands: 380 28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Flags [ (0x0) 29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 30*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 31*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Sections [ 32*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section { 33*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Index: 0 34*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) 35*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Address: 0x0 37*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0x0 38*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 408 39*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Alignment: 0 40*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RelocationOffset: 0x0 41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RelocationCount: 0 42*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: 0x0 43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Attributes [ (0x800000) 44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: PureInstructions (0x800000) 45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Reserved1: 0x0 47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Reserved2: 0x0 48*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: SectionData ( 49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ) 50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 51*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section { 52*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Index: 1 53*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: __datacoal_nt (5F 5F 64 61 74 61 63 6F 61 6C 5F 6E 74 00 00 00) 54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) 55*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Address: 0x0 56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0x4 57*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 408 58*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Alignment: 0 59*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RelocationOffset: 0x19C 60*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RelocationCount: 1 61*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: 0xB 62*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Attributes [ (0x0) 63*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 64*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Reserved1: 0x0 65*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Reserved2: 0x0 66*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: SectionData ( 67*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: 0000: 00000000 |....| 68*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ) 69*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 70*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section { 71*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Index: 2 72*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: __const_coal (5F 5F 63 6F 6E 73 74 5F 63 6F 61 6C 00 00 00 00) 73*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 74*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Address: 0x4 75*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0x0 76*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Offset: 412 77*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Alignment: 0 78*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RelocationOffset: 0x0 79*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RelocationCount: 0 80*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: 0xB 81*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Attributes [ (0x0) 82*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 83*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Reserved1: 0x0 84*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Reserved2: 0x0 85*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: SectionData ( 86*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ) 87*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 88*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 89*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Relocations [ 90*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section __datacoal_nt { 91*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: 0x0 0 2 1 GENERIC_RELOC_VANILLA 0 __ZTS3optIbE 92*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 93*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 94*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbols [ 95*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 96*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: __ZTI3optIbE (14) 97*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Extern 98*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: Section (0xE) 99*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: __datacoal_nt (0x2) 100*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 101*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Flags [ (0x80) 102*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: WeakDef (0x80) 103*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 104*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 105*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 106*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 107*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: __ZTS3optIbE (1) 108*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Extern 109*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: Section (0xE) 110*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: __const_coal (0x3) 111*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: RefType: UndefinedNonLazy (0x0) 112*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Flags [ (0x80) 113*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: WeakDef (0x80) 114*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 115*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x4 116*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 117*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 118*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Indirect Symbols { 119*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Number: 0 120*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbols [ 121*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ] 122*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 123*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Segment { 124*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Cmd: LC_SEGMENT 125*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: 126*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 260 127*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: vmaddr: 0x0 128*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: vmsize: 0x4 129*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: fileoff: 408 130*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: filesize: 4 131*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: maxprot: rwx 132*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: initprot: rwx 133*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nsects: 3 134*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: flags: 0x0 135*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 136*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Dysymtab { 137*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ilocalsym: 0 138*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nlocalsym: 0 139*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: iextdefsym: 0 140*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nextdefsym: 2 141*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: iundefsym: 2 142*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nundefsym: 0 143*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: tocoff: 0 144*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: ntoc: 0 145*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: modtaboff: 0 146*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nmodtab: 0 147*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: extrefsymoff: 0 148*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nextrefsyms: 0 149*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: indirectsymoff: 0 150*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nindirectsyms: 0 151*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: extreloff: 0 152*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nextrel: 0 153*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: locreloff: 0 154*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: nlocrel: 0 155*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 156