1294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar@ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.obj 2cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ RUN: llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols < %t.obj > %t.dump 3294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar@ RUN: FileCheck < %t.dump %s 4294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar 5294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar .syntax unified 6294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar .text 7294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar_f0: 8294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar bl _printf 9294e67861c9a497f4b7529a410d8817d36354d5aDaniel Dunbar 1072123334adfa1b020aa7aecf05ce6d135f9c7ffaDaniel Dunbar_f1: 1172123334adfa1b020aa7aecf05ce6d135f9c7ffaDaniel Dunbar bl _f0 1272123334adfa1b020aa7aecf05ce6d135f9c7ffaDaniel Dunbar 13df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel Dunbar .data 14df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel Dunbar_d0: 158b9300b972745a6d89b482cbcd4206c01359f7dfJim GrosbachLd0_0: 16df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel Dunbar .long Lsc0_0 - Ld0_0 178b9300b972745a6d89b482cbcd4206c01359f7dfJim Grosbach 18df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel Dunbar .section __TEXT,__cstring,cstring_literals 19df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel DunbarLsc0_0: 20df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel Dunbar .long 0 21df561e02347a904de8dcb3a6f6cb42e10a43bdddDaniel Dunbar 22577b09155f9a6fa38e5a7918da9701e120b3642fJim Grosbach .subsections_via_symbols 23577b09155f9a6fa38e5a7918da9701e120b3642fJim Grosbach 24cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: File: <stdin> 25cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Format: Mach-O arm 26cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Arch: arm 27cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: AddressSize: 32bit 28cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: MachHeader { 29cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Magic: Magic (0xFEEDFACE) 30cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: CpuType: Arm (0xC) 31cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: CpuSubType: CPU_SUBTYPE_ARM_V7 (0x9) 32cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: FileType: Relocatable (0x1) 33cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: NumOfLoadCommands: 4 34cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: SizeOfLoadCommands: 380 35cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Flags [ (0x2000) 36cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) 37cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 38cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 39cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Sections [ 40cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section { 41cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Index: 0 42cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) 43cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 44cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Address: 0x0 45cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Size: 0x8 46cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Offset: 408 47cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Alignment: 0 48cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RelocationOffset: 0x1A8 49cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RelocationCount: 2 50cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: 0x0 51cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Attributes [ (0x800004) 52cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: PureInstructions (0x800000) 53cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: SomeInstructions (0x4) 54cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 55cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Reserved1: 0x0 56cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Reserved2: 0x0 57cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: SectionData ( 58cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0000: FEFFFFEB FDFFFFEB |........| 59cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ) 60cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 61cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section { 62cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Index: 1 63cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) 64cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) 65cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Address: 0x8 66cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Size: 0x4 67cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Offset: 416 68cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Alignment: 0 69cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RelocationOffset: 0x1B8 70cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RelocationCount: 2 71cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: 0x0 72cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Attributes [ (0x0) 73cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 74cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Reserved1: 0x0 75cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Reserved2: 0x0 76cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: SectionData ( 77cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0000: 04000000 |....| 78cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ) 79cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 80cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section { 81cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Index: 2 82cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00) 83cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 84cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Address: 0xC 85cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Size: 0x4 86cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Offset: 420 87cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Alignment: 0 88cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RelocationOffset: 0x0 89cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RelocationCount: 0 90cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: ExtReloc (0x2) 91cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Attributes [ (0x0) 92cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 93cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Reserved1: 0x0 94cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Reserved2: 0x0 95cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: SectionData ( 96cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0000: 00000000 |....| 97cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ) 98cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 99cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 100cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Relocations [ 101cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section __text { 102cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0x4 1 2 0 ARM_RELOC_BR24 0 __text 103cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0x0 1 2 1 ARM_RELOC_BR24 0 _printf 104cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 105cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section __data { 106cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0x0 0 2 n/a ARM_RELOC_SECTDIFF 1 0xC 107cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: 0x0 0 2 n/a ARM_RELOC_PAIR 1 0x8 108cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 109cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 110cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Symbols [ 111cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Symbol { 112cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: _f0 (13) 113cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: Section (0xE) 114cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section: __text (0x1) 115cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RefType: UndefinedNonLazy (0x0) 116cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Flags [ (0x0) 117cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 118cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Value: 0x0 119cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 120cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Symbol { 121cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: _f1 (9) 122cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: Section (0xE) 123cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section: __text (0x1) 124cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RefType: UndefinedNonLazy (0x0) 125cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Flags [ (0x0) 126cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 127cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Value: 0x4 128cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 129cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Symbol { 130cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: _d0 (17) 131cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: Section (0xE) 132cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section: __data (0x2) 133cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RefType: UndefinedNonLazy (0x0) 134cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Flags [ (0x0) 135cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 136cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Value: 0x8 137cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 138cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Symbol { 139cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: _printf (1) 140cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Extern 141cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Type: Undef (0x0) 142cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Section: (0x0) 143cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: RefType: UndefinedNonLazy (0x0) 144cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Flags [ (0x0) 145cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 146cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Value: 0x0 147cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 148cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 149cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Indirect Symbols { 150cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Number: 0 151cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Symbols [ 152cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ] 153cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 154cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Segment { 155cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Cmd: LC_SEGMENT 156cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Name: 157cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Size: 260 158cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: vmaddr: 0x0 159cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: vmsize: 0x10 160cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: fileoff: 408 161cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: filesize: 16 162cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: maxprot: rwx 163cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: initprot: rwx 164cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nsects: 3 165cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: flags: 0x0 166cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 167cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: Dysymtab { 168cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ilocalsym: 0 169cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nlocalsym: 3 170cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: iextdefsym: 3 171cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nextdefsym: 0 172cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: iundefsym: 3 173cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nundefsym: 1 174cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: tocoff: 0 175cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: ntoc: 0 176cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: modtaboff: 0 177cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nmodtab: 0 178cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: extrefsymoff: 0 179cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nextrefsyms: 0 180cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: indirectsymoff: 0 181cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nindirectsyms: 0 182cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: extreloff: 0 183cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nextrel: 0 184cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: locreloff: 0 185cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: nlocrel: 0 186cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar@ CHECK: } 187