MC: Rewrite bigobj test in python
[oota-llvm.git] / test / MC / COFF / bigobj.py
1 # RUN: python %s | llvm-mc -filetype=obj -triple i686-pc-win32 - | llvm-readobj -h | FileCheck %s
2
3 # This test checks that the COFF object emitter can produce objects with
4 # more than 65279 sections.
5
6 # While we only generate 65277 sections, an implicit .text, .data and .bss will
7 # also be emitted.  This brings the total to 65280.
8 num_sections = 65277
9
10 # CHECK:      ImageFileHeader {
11 # CHECK-NEXT:   Machine: IMAGE_FILE_MACHINE_I386
12 # CHECK-NEXT:   SectionCount: 65280
13 # CHECK-NEXT:   TimeDateStamp: {{[0-9]+}}
14 # CHECK-NEXT:   PointerToSymbolTable: 0x{{[0-9A-F]+}}
15 # CHECK-NEXT:   SymbolCount: 195837
16 # CHECK-NEXT:   OptionalHeaderSize: 0
17 # CHECK-NEXT:   Characteristics [ (0x0)
18 # CHECK-NEXT:   ]
19 # CHECK-NEXT: }
20
21 for i in xrange(0, num_sections):
22         print """       .section        .bss,"bw",discard,_b%d
23         .globl  _b%d                     # @b%d
24 _b%d:
25         .byte   0                       # 0x0
26 """ % (i, i, i, i)