Home | History | Annotate | Download | only in MachO
      1 // RUN: llvm-mc -triple i386-apple-darwin10 %s -filetype=obj -o %t.o
      2 // RUN: llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols < %t.o > %t.dump
      3 // RUN: FileCheck --check-prefix=CHECK-I386 < %t.dump %s
      4 
      5 // RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o %t.o
      6 // RUN: llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols < %t.o > %t.dump
      7 // RUN: FileCheck --check-prefix=CHECK-X86_64 < %t.dump %s
      8 
      9 .data
     10 
     11         .long 0
     12 a:
     13         .long 0
     14 b = a
     15 
     16 c:      .long b
     17 
     18 d2 = d
     19 .globl d2
     20 d3 = d + 4
     21 .globl d3
     22 
     23 e = a + 4
     24 
     25 g:
     26 f = g
     27         .long 0
     28 
     29         .long b
     30         .long e
     31         .long a + 4
     32         .long d
     33         .long d2
     34         .long d3
     35         .long f
     36         .long g
     37 
     38 ///
     39         .text
     40 t0:
     41 Lt0_a:
     42         ret
     43 
     44 	.data
     45 Lt0_b:
     46 Lt0_x = Lt0_a - Lt0_b
     47 	.quad	Lt0_x
     48 
     49 // CHECK-I386: File: <stdin>
     50 // CHECK-I386: Format: Mach-O 32-bit i386
     51 // CHECK-I386: Arch: i386
     52 // CHECK-I386: AddressSize: 32bit
     53 // CHECK-I386: MachHeader {
     54 // CHECK-I386:   Magic: Magic (0xFEEDFACE)
     55 // CHECK-I386:   CpuType: X86 (0x7)
     56 // CHECK-I386:   CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)
     57 // CHECK-I386:   FileType: Relocatable (0x1)
     58 // CHECK-I386:   NumOfLoadCommands: 4
     59 // CHECK-I386:   SizeOfLoadCommands: 312
     60 // CHECK-I386:   Flags [ (0x0)
     61 // CHECK-I386:   ]
     62 // CHECK-I386: }
     63 // CHECK-I386: Sections [
     64 // CHECK-I386:   Section {
     65 // CHECK-I386:     Index: 0
     66 // CHECK-I386:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
     67 // CHECK-I386:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
     68 // CHECK-I386:     Address: 0x0
     69 // CHECK-I386:     Size: 0x1
     70 // CHECK-I386:     Offset: 340
     71 // CHECK-I386:     Alignment: 0
     72 // CHECK-I386:     RelocationOffset: 0x0
     73 // CHECK-I386:     RelocationCount: 0
     74 // CHECK-I386:     Type: 0x0
     75 // CHECK-I386:     Attributes [ (0x800004)
     76 // CHECK-I386:       PureInstructions (0x800000)
     77 // CHECK-I386:       SomeInstructions (0x4)
     78 // CHECK-I386:     ]
     79 // CHECK-I386:     Reserved1: 0x0
     80 // CHECK-I386:     Reserved2: 0x0
     81 // CHECK-I386:     SectionData (
     82 // CHECK-I386:       0000: C3                                   |.|
     83 // CHECK-I386:     )
     84 // CHECK-I386:   }
     85 // CHECK-I386:   Section {
     86 // CHECK-I386:     Index: 1
     87 // CHECK-I386:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)
     88 // CHECK-I386:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
     89 // CHECK-I386:     Address: 0x1
     90 // CHECK-I386:     Size: 0x38
     91 // CHECK-I386:     Offset: 341
     92 // CHECK-I386:     Alignment: 0
     93 // CHECK-I386:     RelocationOffset: 0x190
     94 // CHECK-I386:     RelocationCount: 9
     95 // CHECK-I386:     Type: 0x0
     96 // CHECK-I386:     Attributes [ (0x0)
     97 // CHECK-I386:     ]
     98 // CHECK-I386:     Reserved1: 0x0
     99 // CHECK-I386:     Reserved2: 0x0
    100 // CHECK-I386:     SectionData (
    101 // CHECK-I386:       0000: 00000000 00000000 05000000 00000000  |................|
    102 // CHECK-I386:       0010: 05000000 09000000 09000000 00000000  |................|
    103 // CHECK-I386:       0020: 00000000 00000000 0D000000 0D000000  |................|
    104 // CHECK-I386:       0030: CFFFFFFF FFFFFFFF                    |........|
    105 // CHECK-I386:     )
    106 // CHECK-I386:   }
    107 // CHECK-I386: ]
    108 // CHECK-I386: Relocations [
    109 // CHECK-I386:   Section __data {
    110 // CHECK-I386:     0x2C 0 2 0 GENERIC_RELOC_VANILLA 0 __data
    111 // CHECK-I386:     0x28 0 2 0 GENERIC_RELOC_VANILLA 0 __data
    112 // CHECK-I386:     0x24 0 2 1 GENERIC_RELOC_VANILLA 0 d3
    113 // CHECK-I386:     0x20 0 2 1 GENERIC_RELOC_VANILLA 0 d2
    114 // CHECK-I386:     0x1C 0 2 1 GENERIC_RELOC_VANILLA 0 d
    115 // CHECK-I386:     0x18 0 2 n/a GENERIC_RELOC_VANILLA 1 0x5
    116 // CHECK-I386:     0x14 0 2 0 GENERIC_RELOC_VANILLA 0 __data
    117 // CHECK-I386:     0x10 0 2 0 GENERIC_RELOC_VANILLA 0 __data
    118 // CHECK-I386:     0x8 0 2 0 GENERIC_RELOC_VANILLA 0 __data
    119 // CHECK-I386:   }
    120 // CHECK-I386: ]
    121 // CHECK-I386: Symbols [
    122 // CHECK-I386:   Symbol {
    123 // CHECK-I386:     Name: a (13)
    124 // CHECK-I386:     Type: Section (0xE)
    125 // CHECK-I386:     Section: __data (0x2)
    126 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    127 // CHECK-I386:     Flags [ (0x0)
    128 // CHECK-I386:     ]
    129 // CHECK-I386:     Value: 0x5
    130 // CHECK-I386:   }
    131 // CHECK-I386:   Symbol {
    132 // CHECK-I386:     Name: b (11)
    133 // CHECK-I386:     Type: Section (0xE)
    134 // CHECK-I386:     Section: __data (0x2)
    135 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    136 // CHECK-I386:     Flags [ (0x0)
    137 // CHECK-I386:     ]
    138 // CHECK-I386:     Value: 0x5
    139 // CHECK-I386:   }
    140 // CHECK-I386:   Symbol {
    141 // CHECK-I386:     Name: c (9)
    142 // CHECK-I386:     Type: Section (0xE)
    143 // CHECK-I386:     Section: __data (0x2)
    144 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    145 // CHECK-I386:     Flags [ (0x0)
    146 // CHECK-I386:     ]
    147 // CHECK-I386:     Value: 0x9
    148 // CHECK-I386:   }
    149 // CHECK-I386:   Symbol {
    150 // CHECK-I386:     Name: e (5)
    151 // CHECK-I386:     Type: Section (0xE)
    152 // CHECK-I386:     Section: __data (0x2)
    153 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    154 // CHECK-I386:     Flags [ (0x200)
    155 // CHECK-I386:     ]
    156 // CHECK-I386:     Value: 0x9
    157 // CHECK-I386:   }
    158 // CHECK-I386:   Symbol {
    159 // CHECK-I386:     Name: g (1)
    160 // CHECK-I386:     Type: Section (0xE)
    161 // CHECK-I386:     Section: __data (0x2)
    162 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    163 // CHECK-I386:     Flags [ (0x0)
    164 // CHECK-I386:     ]
    165 // CHECK-I386:     Value: 0xD
    166 // CHECK-I386:   }
    167 // CHECK-I386:   Symbol {
    168 // CHECK-I386:     Name: f (3)
    169 // CHECK-I386:     Type: Section (0xE)
    170 // CHECK-I386:     Section: __data (0x2)
    171 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    172 // CHECK-I386:     Flags [ (0x0)
    173 // CHECK-I386:     ]
    174 // CHECK-I386:     Value: 0xD
    175 // CHECK-I386:   }
    176 // CHECK-I386:   Symbol {
    177 // CHECK-I386:     Name: t0 (21)
    178 // CHECK-I386:     Type: Section (0xE)
    179 // CHECK-I386:     Section: __text (0x1)
    180 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    181 // CHECK-I386:     Flags [ (0x0)
    182 // CHECK-I386:     ]
    183 // CHECK-I386:     Value: 0x0
    184 // CHECK-I386:   }
    185 // CHECK-I386:   Symbol {
    186 // CHECK-I386:     Name: d (7)
    187 // CHECK-I386:     Extern
    188 // CHECK-I386:     Type: Undef (0x0)
    189 // CHECK-I386:     Section:  (0x0)
    190 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    191 // CHECK-I386:     Flags [ (0x0)
    192 // CHECK-I386:     ]
    193 // CHECK-I386:     Value: 0x0
    194 // CHECK-I386:   }
    195 // CHECK-I386:   Symbol {
    196 // CHECK-I386:     Name: d2 (18)
    197 // CHECK-I386:     Extern
    198 // CHECK-I386:     Type: Indirect (0xA)
    199 // CHECK-I386:     Section:  (0x0)
    200 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    201 // CHECK-I386:     Flags [ (0x0)
    202 // CHECK-I386:     ]
    203 // CHECK-I386:     Value: 0x7
    204 // CHECK-I386:   }
    205 // CHECK-I386:   Symbol {
    206 // CHECK-I386:     Name: d3 (15)
    207 // CHECK-I386:     Extern
    208 // CHECK-I386:     Type: Undef (0x0)
    209 // CHECK-I386:     Section:  (0x0)
    210 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
    211 // CHECK-I386:     Flags [ (0x200)
    212 // CHECK-I386:     ]
    213 // CHECK-I386:     Value: 0x0
    214 // CHECK-I386:   }
    215 // CHECK-I386: ]
    216 // CHECK-I386: Indirect Symbols {
    217 // CHECK-I386:   Number: 0
    218 // CHECK-I386:   Symbols [
    219 // CHECK-I386:   ]
    220 // CHECK-I386: }
    221 // CHECK-I386: Segment {
    222 // CHECK-I386:   Cmd: LC_SEGMENT
    223 // CHECK-I386:   Name:
    224 // CHECK-I386:   Size: 192
    225 // CHECK-I386:   vmaddr: 0x0
    226 // CHECK-I386:   vmsize: 0x39
    227 // CHECK-I386:   fileoff: 340
    228 // CHECK-I386:   filesize: 57
    229 // CHECK-I386:   maxprot: rwx
    230 // CHECK-I386:   initprot: rwx
    231 // CHECK-I386:   nsects: 2
    232 // CHECK-I386:   flags: 0x0
    233 // CHECK-I386: }
    234 // CHECK-I386: Dysymtab {
    235 // CHECK-I386:   ilocalsym: 0
    236 // CHECK-I386:   nlocalsym: 7
    237 // CHECK-I386:   iextdefsym: 7
    238 // CHECK-I386:   nextdefsym: 0
    239 // CHECK-I386:   iundefsym: 7
    240 // CHECK-I386:   nundefsym: 3
    241 // CHECK-I386:   tocoff: 0
    242 // CHECK-I386:   ntoc: 0
    243 // CHECK-I386:   modtaboff: 0
    244 // CHECK-I386:   nmodtab: 0
    245 // CHECK-I386:   extrefsymoff: 0
    246 // CHECK-I386:   nextrefsyms: 0
    247 // CHECK-I386:   indirectsymoff: 0
    248 // CHECK-I386:   nindirectsyms: 0
    249 // CHECK-I386:   extreloff: 0
    250 // CHECK-I386:   nextrel: 0
    251 // CHECK-I386:   locreloff: 0
    252 // CHECK-I386:   nlocrel: 0
    253 // CHECK-I386: }
    254 
    255 // CHECK-X86_64: File: <stdin>
    256 // CHECK-X86_64: Format: Mach-O 64-bit x86-64
    257 // CHECK-X86_64: Arch: x86_64
    258 // CHECK-X86_64: AddressSize: 64bit
    259 // CHECK-X86_64: MachHeader {
    260 // CHECK-X86_64:   Magic: Magic64 (0xFEEDFACF)
    261 // CHECK-X86_64:   CpuType: X86-64 (0x1000007)
    262 // CHECK-X86_64:   CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)
    263 // CHECK-X86_64:   FileType: Relocatable (0x1)
    264 // CHECK-X86_64:   NumOfLoadCommands: 4
    265 // CHECK-X86_64:   SizeOfLoadCommands: 352
    266 // CHECK-X86_64:   Flags [ (0x0)
    267 // CHECK-X86_64:   ]
    268 // CHECK-X86_64:   Reserved: 0x0
    269 // CHECK-X86_64: }
    270 // CHECK-X86_64: Sections [
    271 // CHECK-X86_64:   Section {
    272 // CHECK-X86_64:     Index: 0
    273 // CHECK-X86_64:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
    274 // CHECK-X86_64:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
    275 // CHECK-X86_64:     Address: 0x0
    276 // CHECK-X86_64:     Size: 0x1
    277 // CHECK-X86_64:     Offset: 384
    278 // CHECK-X86_64:     Alignment: 0
    279 // CHECK-X86_64:     RelocationOffset: 0x0
    280 // CHECK-X86_64:     RelocationCount: 0
    281 // CHECK-X86_64:     Type: 0x0
    282 // CHECK-X86_64:     Attributes [ (0x800004)
    283 // CHECK-X86_64:       PureInstructions (0x800000)
    284 // CHECK-X86_64:       SomeInstructions (0x4)
    285 // CHECK-X86_64:     ]
    286 // CHECK-X86_64:     Reserved1: 0x0
    287 // CHECK-X86_64:     Reserved2: 0x0
    288 // CHECK-X86_64:     Reserved3: 0x0
    289 // CHECK-X86_64:     SectionData (
    290 // CHECK-X86_64:       0000: C3                                   |.|
    291 // CHECK-X86_64:     )
    292 // CHECK-X86_64:   }
    293 // CHECK-X86_64:   Section {
    294 // CHECK-X86_64:     Index: 1
    295 // CHECK-X86_64:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)
    296 // CHECK-X86_64:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
    297 // CHECK-X86_64:     Address: 0x1
    298 // CHECK-X86_64:     Size: 0x38
    299 // CHECK-X86_64:     Offset: 385
    300 // CHECK-X86_64:     Alignment: 0
    301 // CHECK-X86_64:     RelocationOffset: 0x1BC
    302 // CHECK-X86_64:     RelocationCount: 9
    303 // CHECK-X86_64:     Type: 0x0
    304 // CHECK-X86_64:     Attributes [ (0x0)
    305 // CHECK-X86_64:     ]
    306 // CHECK-X86_64:     Reserved1: 0x0
    307 // CHECK-X86_64:     Reserved2: 0x0
    308 // CHECK-X86_64:     Reserved3: 0x0
    309 // CHECK-X86_64:     SectionData (
    310 // CHECK-X86_64:       0000: 00000000 00000000 00000000 00000000  |................|
    311 // CHECK-X86_64:       0010: 00000000 00000000 04000000 00000000  |................|
    312 // CHECK-X86_64:       0020: 00000000 00000000 00000000 00000000  |................|
    313 // CHECK-X86_64:       0030: CFFFFFFF FFFFFFFF                    |........|
    314 // CHECK-X86_64:     )
    315 // CHECK-X86_64:   }
    316 // CHECK-X86_64: ]
    317 // CHECK-X86_64: Relocations [
    318 // CHECK-X86_64:   Section __data {
    319 // CHECK-X86_64:     0x2C 0 2 1 X86_64_RELOC_UNSIGNED 0 g
    320 // CHECK-X86_64:     0x28 0 2 1 X86_64_RELOC_UNSIGNED 0 f
    321 // CHECK-X86_64:     0x24 0 2 1 X86_64_RELOC_UNSIGNED 0 d3
    322 // CHECK-X86_64:     0x20 0 2 1 X86_64_RELOC_UNSIGNED 0 d2
    323 // CHECK-X86_64:     0x1C 0 2 1 X86_64_RELOC_UNSIGNED 0 d
    324 // CHECK-X86_64:     0x18 0 2 1 X86_64_RELOC_UNSIGNED 0 a
    325 // CHECK-X86_64:     0x14 0 2 1 X86_64_RELOC_UNSIGNED 0 e
    326 // CHECK-X86_64:     0x10 0 2 1 X86_64_RELOC_UNSIGNED 0 b
    327 // CHECK-X86_64:     0x8 0 2 1 X86_64_RELOC_UNSIGNED 0 b
    328 // CHECK-X86_64:   }
    329 // CHECK-X86_64: ]
    330 // CHECK-X86_64: Symbols [
    331 // CHECK-X86_64:   Symbol {
    332 // CHECK-X86_64:     Name: a (13)
    333 // CHECK-X86_64:     Type: Section (0xE)
    334 // CHECK-X86_64:     Section: __data (0x2)
    335 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    336 // CHECK-X86_64:     Flags [ (0x0)
    337 // CHECK-X86_64:     ]
    338 // CHECK-X86_64:     Value: 0x5
    339 // CHECK-X86_64:   }
    340 // CHECK-X86_64:   Symbol {
    341 // CHECK-X86_64:     Name: b (11)
    342 // CHECK-X86_64:     Type: Section (0xE)
    343 // CHECK-X86_64:     Section: __data (0x2)
    344 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    345 // CHECK-X86_64:     Flags [ (0x0)
    346 // CHECK-X86_64:     ]
    347 // CHECK-X86_64:     Value: 0x5
    348 // CHECK-X86_64:   }
    349 // CHECK-X86_64:   Symbol {
    350 // CHECK-X86_64:     Name: c (9)
    351 // CHECK-X86_64:     Type: Section (0xE)
    352 // CHECK-X86_64:     Section: __data (0x2)
    353 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    354 // CHECK-X86_64:     Flags [ (0x0)
    355 // CHECK-X86_64:     ]
    356 // CHECK-X86_64:     Value: 0x9
    357 // CHECK-X86_64:   }
    358 // CHECK-X86_64:   Symbol {
    359 // CHECK-X86_64:     Name: e (5)
    360 // CHECK-X86_64:     Type: Section (0xE)
    361 // CHECK-X86_64:     Section: __data (0x2)
    362 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    363 // CHECK-X86_64:     Flags [ (0x200)
    364 // CHECK-X86_64:     ]
    365 // CHECK-X86_64:     Value: 0x9
    366 // CHECK-X86_64:   }
    367 // CHECK-X86_64:   Symbol {
    368 // CHECK-X86_64:     Name: g (1)
    369 // CHECK-X86_64:     Type: Section (0xE)
    370 // CHECK-X86_64:     Section: __data (0x2)
    371 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    372 // CHECK-X86_64:     Flags [ (0x0)
    373 // CHECK-X86_64:     ]
    374 // CHECK-X86_64:     Value: 0xD
    375 // CHECK-X86_64:   }
    376 // CHECK-X86_64:   Symbol {
    377 // CHECK-X86_64:     Name: f (3)
    378 // CHECK-X86_64:     Type: Section (0xE)
    379 // CHECK-X86_64:     Section: __data (0x2)
    380 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    381 // CHECK-X86_64:     Flags [ (0x0)
    382 // CHECK-X86_64:     ]
    383 // CHECK-X86_64:     Value: 0xD
    384 // CHECK-X86_64:   }
    385 // CHECK-X86_64:   Symbol {
    386 // CHECK-X86_64:     Name: t0 (21)
    387 // CHECK-X86_64:     Type: Section (0xE)
    388 // CHECK-X86_64:     Section: __text (0x1)
    389 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    390 // CHECK-X86_64:     Flags [ (0x0)
    391 // CHECK-X86_64:     ]
    392 // CHECK-X86_64:     Value: 0x0
    393 // CHECK-X86_64:   }
    394 // CHECK-X86_64:   Symbol {
    395 // CHECK-X86_64:     Name: d (7)
    396 // CHECK-X86_64:     Extern
    397 // CHECK-X86_64:     Type: Undef (0x0)
    398 // CHECK-X86_64:     Section:  (0x0)
    399 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    400 // CHECK-X86_64:     Flags [ (0x0)
    401 // CHECK-X86_64:     ]
    402 // CHECK-X86_64:     Value: 0x0
    403 // CHECK-X86_64:   }
    404 // CHECK-X86_64:   Symbol {
    405 // CHECK-X86_64:     Name: d2 (18)
    406 // CHECK-X86_64:     Extern
    407 // CHECK-X86_64:     Type: Indirect (0xA)
    408 // CHECK-X86_64:     Section:  (0x0)
    409 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    410 // CHECK-X86_64:     Flags [ (0x0)
    411 // CHECK-X86_64:     ]
    412 // CHECK-X86_64:     Value: 0x7
    413 // CHECK-X86_64:   }
    414 // CHECK-X86_64:   Symbol {
    415 // CHECK-X86_64:     Name: d3 (15)
    416 // CHECK-X86_64:     Extern
    417 // CHECK-X86_64:     Type: Undef (0x0)
    418 // CHECK-X86_64:     Section:  (0x0)
    419 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
    420 // CHECK-X86_64:     Flags [ (0x200)
    421 // CHECK-X86_64:     ]
    422 // CHECK-X86_64:     Value: 0x0
    423 // CHECK-X86_64:   }
    424 // CHECK-X86_64: ]
    425 // CHECK-X86_64: Indirect Symbols {
    426 // CHECK-X86_64:   Number: 0
    427 // CHECK-X86_64:   Symbols [
    428 // CHECK-X86_64:   ]
    429 // CHECK-X86_64: }
    430 // CHECK-X86_64: Segment {
    431 // CHECK-X86_64:   Cmd: LC_SEGMENT_64
    432 // CHECK-X86_64:   Name:
    433 // CHECK-X86_64:   Size: 232
    434 // CHECK-X86_64:   vmaddr: 0x0
    435 // CHECK-X86_64:   vmsize: 0x39
    436 // CHECK-X86_64:   fileoff: 384
    437 // CHECK-X86_64:   filesize: 57
    438 // CHECK-X86_64:   maxprot: rwx
    439 // CHECK-X86_64:   initprot: rwx
    440 // CHECK-X86_64:   nsects: 2
    441 // CHECK-X86_64:   flags: 0x0
    442 // CHECK-X86_64: }
    443 // CHECK-X86_64: Dysymtab {
    444 // CHECK-X86_64:   ilocalsym: 0
    445 // CHECK-X86_64:   nlocalsym: 7
    446 // CHECK-X86_64:   iextdefsym: 7
    447 // CHECK-X86_64:   nextdefsym: 0
    448 // CHECK-X86_64:   iundefsym: 7
    449 // CHECK-X86_64:   nundefsym: 3
    450 // CHECK-X86_64:   tocoff: 0
    451 // CHECK-X86_64:   ntoc: 0
    452 // CHECK-X86_64:   modtaboff: 0
    453 // CHECK-X86_64:   nmodtab: 0
    454 // CHECK-X86_64:   extrefsymoff: 0
    455 // CHECK-X86_64:   nextrefsyms: 0
    456 // CHECK-X86_64:   indirectsymoff: 0
    457 // CHECK-X86_64:   nindirectsyms: 0
    458 // CHECK-X86_64:   extreloff: 0
    459 // CHECK-X86_64:   nextrel: 0
    460 // CHECK-X86_64:   locreloff: 0
    461 // CHECK-X86_64:   nlocrel: 0
    462 // CHECK-X86_64: }
    463