brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · 634113b 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 x86_64-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	callq	_printf18	movl	$.L_.str1, (%esp)19	callq	_puts20	movl	$.L_.str2, (%esp)21	callq	_puts22	xorl	%eax, %eax23	addl	$4, %esp24	ret25 26	.data27.L_.str0:                                # @.str028	.asciz	 "Hello "29 30.L_.str1:                                # @.str131	.asciz	 "World!"32 33	.align	16                      # @.str234.L_.str2:35	.asciz	 "I'm The Last Line."36 37// CHECK: {38// CHECK:   Machine:                   IMAGE_FILE_MACHINE_AMD6439// 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:       0x7  IMAGE_REL_AMD64_ADDR32 .data67// CHECK:       0xC  IMAGE_REL_AMD64_REL32 _printf68// CHECK:       0x14 IMAGE_REL_AMD64_ADDR32 .data69// CHECK:       0x19 IMAGE_REL_AMD64_REL32 _puts70// CHECK:       0x21 IMAGE_REL_AMD64_ADDR32 .data71// CHECK:       0x26 IMAGE_REL_AMD64_REL32 _puts72// CHECK:     ]73// CHECK:     SectionData (74// CHECK:       0000: 83EC0467 C7042400 000000E8 0000000075// CHECK:       0010: 67C70424 07000000 E8000000 0067C70476// CHECK:       0020: 24100000 00E80000 000031C0 83C404C377// 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: 48115// CHECK:       RelocationCount: 6116// CHECK:       LineNumberCount: 0117// CHECK:       Checksum: 0x7BD396E3118// 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