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