brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · cfca876 Raw
167 lines · plain
1// The purpose of this test is to see if the COFF object writer is emitting the2// proper relocations for multiple pieces of data in a single data fragment.3 4// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | llvm-readobj -h -S --sr --sd --symbols - | FileCheck %s5 6.def	 _main;7	.scl	2;8	.type	32;9	.endef10	.text11	.globl	_main12	.align	16, 0x9013_main:                                  # @main14# %bb.0:                                # %entry15	subl	$4, %esp16	movl	$L_.str0, (%esp)17	calll	_printf18	movl	$L_.str1, (%esp)19	calll	_puts20	movl	$L_.str2, (%esp)21	calll	_puts22	xorl	%eax, %eax23	addl	$4, %esp24	ret25 26	.data27L_.str0:                                # @.str028	.asciz	 "Hello "29 30L_.str1:                                # @.str131	.asciz	 "World!"32 33	.align	16                      # @.str234L_.str2:35	.asciz	 "I'm The Last Line."36 37// CHECK: {38// CHECK:   Machine:                   IMAGE_FILE_MACHINE_I386 (0x14C)39// CHECK:   SectionCount:              340// CHECK:   TimeDateStamp:             {{[0-9]+}}41// CHECK:   PointerToSymbolTable:      0x{{[0-9A-F]+}}42// CHECK:   SymbolCount:               943// CHECK:   OptionalHeaderSize:        044// CHECK:   Characteristics [ (0x0)45// CHECK:   ]46// CHECK: }47// CHECK: Sections [48// CHECK:   Section {49// CHECK:     Number:                    150// CHECK:     Name:                      .text51// CHECK:     VirtualSize:               052// CHECK:     VirtualAddress:            053// CHECK:     RawDataSize:               {{[0-9]+}}54// CHECK:     PointerToRawData:          0x{{[0-9A-F]+}}55// CHECK:     PointerToRelocations:      0x{{[0-9A-F]+}}56// CHECK:     PointerToLineNumbers:      0x057// CHECK:     RelocationCount:           658// CHECK:     LineNumberCount:           059// CHECK:     Characteristics [ (0x60500020)60// CHECK:       IMAGE_SCN_ALIGN_16BYTES61// CHECK:       IMAGE_SCN_CNT_CODE62// CHECK:       IMAGE_SCN_MEM_EXECUTE63// CHECK:       IMAGE_SCN_MEM_READ64// CHECK:     ]65// CHECK:     Relocations [66// CHECK:       0x6  IMAGE_REL_I386_DIR32 .data67// CHECK:       0xB  IMAGE_REL_I386_REL32 _printf68// CHECK:       0x12 IMAGE_REL_I386_DIR32 .data69// CHECK:       0x17 IMAGE_REL_I386_REL32 _puts70// CHECK:       0x1E IMAGE_REL_I386_DIR32 .data71// CHECK:       0x23 IMAGE_REL_I386_REL32 _puts72// CHECK:     ]73// CHECK:     SectionData (74// CHECK:       0000: 83EC04C7 04240000 0000E800 000000C7 |.....$..........|75// CHECK:       0010: 04240700 0000E800 000000C7 04241000 |.$...........$..|76// CHECK:       0020: 0000E800 00000031 C083C404 C3       |.......1.....|77// CHECK:     )78// CHECK:   }79// CHECK:   Section {80// CHECK:     Number:                    281// CHECK:     Name:                      .data82// CHECK:     VirtualSize:               083// CHECK:     VirtualAddress:            084// CHECK:     RawDataSize:               {{[0-9]+}}85// CHECK:     PointerToRawData:          0x{{[0-9A-F]+}}86// CHECK:     PointerToRelocations:      0x087// CHECK:     PointerToLineNumbers:      0x088// CHECK:     RelocationCount:           089// CHECK:     LineNumberCount:           090// CHECK:     Characteristics [ (0xC0500040)91// CHECK:       IMAGE_SCN_ALIGN_16BYTES92// CHECK:       IMAGE_SCN_CNT_INITIALIZED_DATA93// CHECK:       IMAGE_SCN_MEM_READ94// CHECK:       IMAGE_SCN_MEM_WRITE95// CHECK:     Relocations [96// CHECK:     ]97// CHECK:     SectionData (98// CHECK:       0000: 48656C6C 6F200057 6F726C64 21000000 |Hello .World!...|99// CHECK:       0010: 49276D20 54686520 4C617374 204C696E |I'm The Last Lin|100// CHECK:       0020: 652E00                              |e..|101// CHECK:     )102// CHECK:   }103// CHECK: ]104// CHECK: Symbols [105// CHECK:   Symbol {106// CHECK:     Name:                      .text107// CHECK:     Value:                     0108// CHECK:     Section:                   .text109// CHECK:     BaseType:                  Null110// CHECK:     ComplexType:               Null111// CHECK:     StorageClass:              Static112// CHECK:     AuxSymbolCount:            1113// CHECK:     AuxSectionDef {114// CHECK:       Length: 45115// CHECK:       RelocationCount: 6116// CHECK:       LineNumberCount: 0117// CHECK:       Checksum: 0xDED1DC2118// CHECK:       Number: 1119// CHECK:       Selection: 0x0120// CHECK:     }121// CHECK:   }122// CHECK:   Symbol {123// CHECK:     Name:                      .data124// CHECK:     Value:                     0125// CHECK:     Section:                   .data126// CHECK:     BaseType:                  Null127// CHECK:     ComplexType:               Null128// CHECK:     StorageClass:              Static129// CHECK:     AuxSymbolCount:            1130// CHECK:     AuxSectionDef {131// CHECK:       Length: 35132// CHECK:       RelocationCount: 0133// CHECK:       LineNumberCount: 0134// CHECK:       Checksum: 0xB0A4C21135// CHECK:       Number: 2136// CHECK:       Selection: 0x0137// CHECK:     }138// CHECK:   }139// CHECK:   Symbol {140// CHECK:     Name:                      _main141// CHECK:     Value:                     0142// CHECK:     Section:                   .text143// CHECK:     BaseType:                  Null144// CHECK:     ComplexType:               Function145// CHECK:     StorageClass:              External146// CHECK:     AuxSymbolCount:            0147// CHECK:   }148// CHECK:   Symbol {149// CHECK:     Name:                      _printf150// CHECK:     Value:                     0151// CHECK:     Section:                   IMAGE_SYM_UNDEFINED (0)152// CHECK:     BaseType:                  Null153// CHECK:     ComplexType:               Null154// CHECK:     StorageClass:              External155// CHECK:     AuxSymbolCount:            0156// CHECK:   }157// CHECK:   Symbol {158// CHECK:     Name:                      _puts159// CHECK:     Value:                     0160// CHECK:     Section:                   IMAGE_SYM_UNDEFINED (0)161// CHECK:     BaseType:                  Null162// CHECK:     ComplexType:               Null163// CHECK:     StorageClass:              External164// CHECK:     AuxSymbolCount:            0165// CHECK:   }166// CHECK: ]167