Remove some hard coded CR-LFs. Some of these were the entire files, one of

these was just one line of a file. Explicitly set the eol-style property on the
files to try and ensure this fix stays.

llvm-svn: 130125
This commit is contained in:
Chandler Carruth 2011-04-25 07:11:23 +00:00
parent bc0f9aeac3
commit 9b73c8e293
7 changed files with 499 additions and 499 deletions

View File

@ -1103,7 +1103,7 @@ MBlazeTargetLowering::getSingleConstraintMatchWeight(
switch (*constraint) {
default:
weight = TargetLowering::getSingleConstraintMatchWeight(info, constraint);
break;
break;
case 'd':
case 'y':
if (type->isIntegerTy())

View File

@ -1,133 +1,133 @@
// This test checks that the COFF object emitter works for the most basic
// programs.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s
.def _main;
.scl 2;
.type 32;
.endef
.text
.globl _main
.align 16, 0x90
_main: # @main
# BB#0: # %entry
subl $4, %esp
movl $L_.str, (%esp)
calll _printf
xorl %eax, %eax
addl $4, %esp
ret
.data
L_.str: # @.str
.asciz "Hello World"
// CHECK: {
// CHECK: MachineType = IMAGE_FILE_MACHINE_I386 (0x14C)
// CHECK: NumberOfSections = 2
// CHECK: TimeDateStamp = {{[0-9]+}}
// CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}
// CHECK: NumberOfSymbols = 6
// CHECK: SizeOfOptionalHeader = 0
// CHECK: Characteristics = 0x0
// CHECK: Sections = [
// CHECK: 1 = {
// CHECK: Name = .text
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x{{[0-9A-F]+}}
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 2
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0x60500020
// CHECK: IMAGE_SCN_CNT_CODE
// CHECK: IMAGE_SCN_ALIGN_16BYTES
// CHECK: IMAGE_SCN_MEM_EXECUTE
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: SectionData =
// CHECK: Relocations = [
// CHECK: 0 = {
// CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 1 = {
// CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
// CHECK: SymbolTableIndex = 5
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _printf
// CHECK: }
// CHECK: ]
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x0
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 0
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0xC0300040
// CHECK: IMAGE_SCN_CNT_INITIALIZED_DATA
// CHECK: IMAGE_SCN_ALIGN_4BYTES
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: IMAGE_SCN_MEM_WRITE
// CHECK: SectionData =
// CHECK: 48 65 6C 6C 6F 20 57 6F - 72 6C 64 00 |Hello World.|
// CHECK: Relocations = None
// CHECK: }
// CHECK: ]
// CHECK: Symbols = [
// CHECK: 0 = {
// CHECK: Name = .text
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 15 00 00 00 02 00 00 00 - 00 00 00 00 01 00 00 00 |................|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: Value = 0
// CHECK: SectionNumber = 2
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 0C 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |................|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 4 = {
// CHECK: Name = _main
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_FUNCTION (2)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: 5 = {
// CHECK: Name = _printf
// CHECK: Value = 0
// CHECK: SectionNumber = 0
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: ]
// CHECK: }
// This test checks that the COFF object emitter works for the most basic
// programs.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s
.def _main;
.scl 2;
.type 32;
.endef
.text
.globl _main
.align 16, 0x90
_main: # @main
# BB#0: # %entry
subl $4, %esp
movl $L_.str, (%esp)
calll _printf
xorl %eax, %eax
addl $4, %esp
ret
.data
L_.str: # @.str
.asciz "Hello World"
// CHECK: {
// CHECK: MachineType = IMAGE_FILE_MACHINE_I386 (0x14C)
// CHECK: NumberOfSections = 2
// CHECK: TimeDateStamp = {{[0-9]+}}
// CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}
// CHECK: NumberOfSymbols = 6
// CHECK: SizeOfOptionalHeader = 0
// CHECK: Characteristics = 0x0
// CHECK: Sections = [
// CHECK: 1 = {
// CHECK: Name = .text
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x{{[0-9A-F]+}}
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 2
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0x60500020
// CHECK: IMAGE_SCN_CNT_CODE
// CHECK: IMAGE_SCN_ALIGN_16BYTES
// CHECK: IMAGE_SCN_MEM_EXECUTE
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: SectionData =
// CHECK: Relocations = [
// CHECK: 0 = {
// CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 1 = {
// CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
// CHECK: SymbolTableIndex = 5
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _printf
// CHECK: }
// CHECK: ]
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x0
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 0
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0xC0300040
// CHECK: IMAGE_SCN_CNT_INITIALIZED_DATA
// CHECK: IMAGE_SCN_ALIGN_4BYTES
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: IMAGE_SCN_MEM_WRITE
// CHECK: SectionData =
// CHECK: 48 65 6C 6C 6F 20 57 6F - 72 6C 64 00 |Hello World.|
// CHECK: Relocations = None
// CHECK: }
// CHECK: ]
// CHECK: Symbols = [
// CHECK: 0 = {
// CHECK: Name = .text
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 15 00 00 00 02 00 00 00 - 00 00 00 00 01 00 00 00 |................|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: Value = 0
// CHECK: SectionNumber = 2
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 0C 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |................|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 4 = {
// CHECK: Name = _main
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_FUNCTION (2)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: 5 = {
// CHECK: Name = _printf
// CHECK: Value = 0
// CHECK: SectionNumber = 0
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: ]
// CHECK: }

View File

@ -1,15 +1,15 @@
// The purpose of this test is to verify that bss sections are emited correctly.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.bss
.globl _g0
.align 4
_g0:
.long 0
// CHECK: Name = .bss
// CHECK-NEXT: VirtualSize = 0
// CHECK-NEXT: VirtualAddress = 0
// CHECK-NEXT: SizeOfRawData = 4
// The purpose of this test is to verify that bss sections are emited correctly.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.bss
.globl _g0
.align 4
_g0:
.long 0
// CHECK: Name = .bss
// CHECK-NEXT: VirtualSize = 0
// CHECK-NEXT: VirtualAddress = 0
// CHECK-NEXT: SizeOfRawData = 4

View File

@ -1,50 +1,50 @@
// The purpose of this test is to verify that we do not produce unneeded
// relocations when symbols are in the same section and we know their offset.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.def _foo;
.scl 2;
.type 32;
.endef
.text
.globl _foo
.align 16, 0x90
_foo: # @foo
# BB#0: # %e
.align 16, 0x90
LBB0_1: # %i
# =>This Inner Loop Header: Depth=1
jmp LBB0_1
.def _bar;
.scl 2;
.type 32;
.endef
.globl _bar
.align 16, 0x90
_bar: # @bar
# BB#0: # %e
.align 16, 0x90
LBB1_1: # %i
# =>This Inner Loop Header: Depth=1
jmp LBB1_1
.def _baz;
.scl 2;
.type 32;
.endef
.globl _baz
.align 16, 0x90
_baz: # @baz
# BB#0: # %e
subl $4, %esp
Ltmp0:
calll _baz
addl $4, %esp
ret
// CHECK: Sections = [
// CHECK-NOT: NumberOfRelocations = {{[^0]}}
// CHECK: Symbols = [
// The purpose of this test is to verify that we do not produce unneeded
// relocations when symbols are in the same section and we know their offset.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.def _foo;
.scl 2;
.type 32;
.endef
.text
.globl _foo
.align 16, 0x90
_foo: # @foo
# BB#0: # %e
.align 16, 0x90
LBB0_1: # %i
# =>This Inner Loop Header: Depth=1
jmp LBB0_1
.def _bar;
.scl 2;
.type 32;
.endef
.globl _bar
.align 16, 0x90
_bar: # @bar
# BB#0: # %e
.align 16, 0x90
LBB1_1: # %i
# =>This Inner Loop Header: Depth=1
jmp LBB1_1
.def _baz;
.scl 2;
.type 32;
.endef
.globl _baz
.align 16, 0x90
_baz: # @baz
# BB#0: # %e
subl $4, %esp
Ltmp0:
calll _baz
addl $4, %esp
ret
// CHECK: Sections = [
// CHECK-NOT: NumberOfRelocations = {{[^0]}}
// CHECK: Symbols = [

View File

@ -1,62 +1,62 @@
// The purpose of this test is to verify that symbol aliases
// (@foo = alias <type> @bar) generate the correct entries in the symbol table.
// They should be identical except for the name.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.def _foo;
.scl 2;
.type 32;
.endef
.text
.globl _foo
.align 16, 0x90
_foo: # @foo
# BB#0: # %entry
ret
.data
.globl _bar # @bar
.align 4
_bar:
.long 0 # 0x0
.globl _foo_alias
_foo_alias = _foo
.globl _bar_alias
_bar_alias = _bar
// CHECK: Name = {{_?}}foo
// CHECK-NEXT: Value = [[FOO_VALUE:.*$]]
// CHECK-NEXT: SectionNumber = [[FOO_SECTION_NUMBER:.*$]]
// CHECK-NEXT: SimpleType = [[FOO_SIMPLE_TYPE:.*$]]
// CHECK-NEXT: ComplexType = [[FOO_COMPLEX_TYPE:.*$]]
// CHECK-NEXT: StorageClass = [[FOO_STORAGE_CLASS:.*$]]
// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]]
// CHECK: Name = {{_?}}bar
// CHECK-NEXT: Value = [[BAR_VALUE:.*$]]
// CHECK-NEXT: SectionNumber = [[BAR_SECTION_NUMBER:.*$]]
// CHECK-NEXT: SimpleType = [[BAR_SIMPLE_TYPE:.*$]]
// CHECK-NEXT: ComplexType = [[BAR_COMPLEX_TYPE:.*$]]
// CHECK-NEXT: StorageClass = [[BAR_STORAGE_CLASS:.*$]]
// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]]
// CHECK: Name = {{_?}}foo_alias
// CHECK-NEXT: Value = [[FOO_VALUE]]
// CHECK-NEXT: SectionNumber = [[FOO_SECTION_NUMBER]]
// CHECK-NEXT: SimpleType = [[FOO_SIMPLE_TYPE]]
// CHECK-NEXT: ComplexType = [[FOO_COMPLEX_TYPE]]
// CHECK-NEXT: StorageClass = [[FOO_STORAGE_CLASS]]
// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS]]
// CHECK: Name = {{_?}}bar_alias
// CHECK-NEXT: Value = [[BAR_VALUE]]
// CHECK-NEXT: SectionNumber = [[BAR_SECTION_NUMBER]]
// CHECK-NEXT: SimpleType = [[BAR_SIMPLE_TYPE]]
// CHECK-NEXT: ComplexType = [[BAR_COMPLEX_TYPE]]
// CHECK-NEXT: StorageClass = [[BAR_STORAGE_CLASS]]
// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS]]
// The purpose of this test is to verify that symbol aliases
// (@foo = alias <type> @bar) generate the correct entries in the symbol table.
// They should be identical except for the name.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.def _foo;
.scl 2;
.type 32;
.endef
.text
.globl _foo
.align 16, 0x90
_foo: # @foo
# BB#0: # %entry
ret
.data
.globl _bar # @bar
.align 4
_bar:
.long 0 # 0x0
.globl _foo_alias
_foo_alias = _foo
.globl _bar_alias
_bar_alias = _bar
// CHECK: Name = {{_?}}foo
// CHECK-NEXT: Value = [[FOO_VALUE:.*$]]
// CHECK-NEXT: SectionNumber = [[FOO_SECTION_NUMBER:.*$]]
// CHECK-NEXT: SimpleType = [[FOO_SIMPLE_TYPE:.*$]]
// CHECK-NEXT: ComplexType = [[FOO_COMPLEX_TYPE:.*$]]
// CHECK-NEXT: StorageClass = [[FOO_STORAGE_CLASS:.*$]]
// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]]
// CHECK: Name = {{_?}}bar
// CHECK-NEXT: Value = [[BAR_VALUE:.*$]]
// CHECK-NEXT: SectionNumber = [[BAR_SECTION_NUMBER:.*$]]
// CHECK-NEXT: SimpleType = [[BAR_SIMPLE_TYPE:.*$]]
// CHECK-NEXT: ComplexType = [[BAR_COMPLEX_TYPE:.*$]]
// CHECK-NEXT: StorageClass = [[BAR_STORAGE_CLASS:.*$]]
// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]]
// CHECK: Name = {{_?}}foo_alias
// CHECK-NEXT: Value = [[FOO_VALUE]]
// CHECK-NEXT: SectionNumber = [[FOO_SECTION_NUMBER]]
// CHECK-NEXT: SimpleType = [[FOO_SIMPLE_TYPE]]
// CHECK-NEXT: ComplexType = [[FOO_COMPLEX_TYPE]]
// CHECK-NEXT: StorageClass = [[FOO_STORAGE_CLASS]]
// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS]]
// CHECK: Name = {{_?}}bar_alias
// CHECK-NEXT: Value = [[BAR_VALUE]]
// CHECK-NEXT: SectionNumber = [[BAR_SECTION_NUMBER]]
// CHECK-NEXT: SimpleType = [[BAR_SIMPLE_TYPE]]
// CHECK-NEXT: ComplexType = [[BAR_COMPLEX_TYPE]]
// CHECK-NEXT: StorageClass = [[BAR_STORAGE_CLASS]]
// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS]]

View File

@ -1,187 +1,187 @@
// The purpose of this test is to see if the COFF object writer is emitting the
// proper relocations for multiple pieces of data in a single data fragment.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s
.def _main;
.scl 2;
.type 32;
.endef
.text
.globl _main
.align 16, 0x90
_main: # @main
# BB#0: # %entry
subl $4, %esp
movl $L_.str0, (%esp)
calll _printf
movl $L_.str1, (%esp)
calll _puts
movl $L_.str2, (%esp)
calll _puts
xorl %eax, %eax
addl $4, %esp
ret
.data
L_.str0: # @.str0
.asciz "Hello "
L_.str1: # @.str1
.asciz "World!"
.align 16 # @.str2
L_.str2:
.asciz "I'm The Last Line."
// CHECK: {
// CHECK: MachineType = IMAGE_FILE_MACHINE_I386 (0x14C)
// CHECK: NumberOfSections = 2
// CHECK: TimeDateStamp = {{[0-9]+}}
// CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}
// CHECK: NumberOfSymbols = 7
// CHECK: SizeOfOptionalHeader = 0
// CHECK: Characteristics = 0x0
// CHECK: Sections = [
// CHECK: 1 = {
// CHECK: Name = .text
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x{{[0-9A-F]+}}
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 6
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0x60500020
// CHECK: IMAGE_SCN_CNT_CODE
// CHECK: IMAGE_SCN_ALIGN_16BYTES
// CHECK: IMAGE_SCN_MEM_EXECUTE
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: SectionData =
// CHECK: 83 EC 04 C7 04 24 00 00 - 00 00 E8 00 00 00 00 C7 |.....$..........|
// CHECK: 04 24 07 00 00 00 E8 00 - 00 00 00 C7 04 24 10 00 |.$...........$..|
// CHECK: 00 00 E8 00 00 00 00 31 - C0 83 C4 04 C3 |.......1.....|
// CHECK: Relocations = [
// CHECK: 0 = {
// CHECK: VirtualAddress = 0x6
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 1 = {
// CHECK: VirtualAddress = 0xB
// CHECK: SymbolTableIndex = 5
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _printf
// CHECK: }
// CHECK: 2 = {
// CHECK: VirtualAddress = 0x12
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 3 = {
// CHECK: VirtualAddress = 0x17
// CHECK: SymbolTableIndex = 6
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _puts
// CHECK: }
// CHECK: 4 = {
// CHECK: VirtualAddress = 0x1E
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 5 = {
// CHECK: VirtualAddress = 0x23
// CHECK: SymbolTableIndex = 6
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _puts
// CHECK: }
// CHECK: ]
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x0
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 0
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0xC0500040
// CHECK: IMAGE_SCN_CNT_INITIALIZED_DATA
// CHECK: IMAGE_SCN_ALIGN_16BYTES
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: IMAGE_SCN_MEM_WRITE
// CHECK: SectionData =
// CHECK: 48 65 6C 6C 6F 20 00 57 - 6F 72 6C 64 21 00 00 00 |Hello .World!...|
// CHECK: 49 27 6D 20 54 68 65 20 - 4C 61 73 74 20 4C 69 6E |I'm The Last Lin|
// CHECK: 65 2E 00 |e..|
// CHECK: Relocations = None
// CHECK: }
// CHECK: ]
// CHECK: Symbols = [
// CHECK: 0 = {
// CHECK: Name = .text
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 2D 00 00 00 06 00 00 00 - 00 00 00 00 01 00 00 00 |-...............|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: Value = 0
// CHECK: SectionNumber = 2
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 23 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |#...............|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 4 = {
// CHECK: Name = _main
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_FUNCTION (2)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: 5 = {
// CHECK: Name = _printf
// CHECK: Value = 0
// CHECK: SectionNumber = 0
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: 6 = {
// CHECK: Name = _puts
// CHECK: Value = 0
// CHECK: SectionNumber = 0
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: ]
// CHECK: }
// The purpose of this test is to see if the COFF object writer is emitting the
// proper relocations for multiple pieces of data in a single data fragment.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s
.def _main;
.scl 2;
.type 32;
.endef
.text
.globl _main
.align 16, 0x90
_main: # @main
# BB#0: # %entry
subl $4, %esp
movl $L_.str0, (%esp)
calll _printf
movl $L_.str1, (%esp)
calll _puts
movl $L_.str2, (%esp)
calll _puts
xorl %eax, %eax
addl $4, %esp
ret
.data
L_.str0: # @.str0
.asciz "Hello "
L_.str1: # @.str1
.asciz "World!"
.align 16 # @.str2
L_.str2:
.asciz "I'm The Last Line."
// CHECK: {
// CHECK: MachineType = IMAGE_FILE_MACHINE_I386 (0x14C)
// CHECK: NumberOfSections = 2
// CHECK: TimeDateStamp = {{[0-9]+}}
// CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}
// CHECK: NumberOfSymbols = 7
// CHECK: SizeOfOptionalHeader = 0
// CHECK: Characteristics = 0x0
// CHECK: Sections = [
// CHECK: 1 = {
// CHECK: Name = .text
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x{{[0-9A-F]+}}
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 6
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0x60500020
// CHECK: IMAGE_SCN_CNT_CODE
// CHECK: IMAGE_SCN_ALIGN_16BYTES
// CHECK: IMAGE_SCN_MEM_EXECUTE
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: SectionData =
// CHECK: 83 EC 04 C7 04 24 00 00 - 00 00 E8 00 00 00 00 C7 |.....$..........|
// CHECK: 04 24 07 00 00 00 E8 00 - 00 00 00 C7 04 24 10 00 |.$...........$..|
// CHECK: 00 00 E8 00 00 00 00 31 - C0 83 C4 04 C3 |.......1.....|
// CHECK: Relocations = [
// CHECK: 0 = {
// CHECK: VirtualAddress = 0x6
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 1 = {
// CHECK: VirtualAddress = 0xB
// CHECK: SymbolTableIndex = 5
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _printf
// CHECK: }
// CHECK: 2 = {
// CHECK: VirtualAddress = 0x12
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 3 = {
// CHECK: VirtualAddress = 0x17
// CHECK: SymbolTableIndex = 6
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _puts
// CHECK: }
// CHECK: 4 = {
// CHECK: VirtualAddress = 0x1E
// CHECK: SymbolTableIndex = 2
// CHECK: Type = IMAGE_REL_I386_DIR32 (6)
// CHECK: SymbolName = .data
// CHECK: }
// CHECK: 5 = {
// CHECK: VirtualAddress = 0x23
// CHECK: SymbolTableIndex = 6
// CHECK: Type = IMAGE_REL_I386_REL32 (20)
// CHECK: SymbolName = _puts
// CHECK: }
// CHECK: ]
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: VirtualSize = 0
// CHECK: VirtualAddress = 0
// CHECK: SizeOfRawData = {{[0-9]+}}
// CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
// CHECK: PointerToRelocations = 0x0
// CHECK: PointerToLineNumbers = 0x0
// CHECK: NumberOfRelocations = 0
// CHECK: NumberOfLineNumbers = 0
// CHECK: Charateristics = 0xC0500040
// CHECK: IMAGE_SCN_CNT_INITIALIZED_DATA
// CHECK: IMAGE_SCN_ALIGN_16BYTES
// CHECK: IMAGE_SCN_MEM_READ
// CHECK: IMAGE_SCN_MEM_WRITE
// CHECK: SectionData =
// CHECK: 48 65 6C 6C 6F 20 00 57 - 6F 72 6C 64 21 00 00 00 |Hello .World!...|
// CHECK: 49 27 6D 20 54 68 65 20 - 4C 61 73 74 20 4C 69 6E |I'm The Last Lin|
// CHECK: 65 2E 00 |e..|
// CHECK: Relocations = None
// CHECK: }
// CHECK: ]
// CHECK: Symbols = [
// CHECK: 0 = {
// CHECK: Name = .text
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 2D 00 00 00 06 00 00 00 - 00 00 00 00 01 00 00 00 |-...............|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 2 = {
// CHECK: Name = .data
// CHECK: Value = 0
// CHECK: SectionNumber = 2
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)
// CHECK: NumberOfAuxSymbols = 1
// CHECK: AuxillaryData =
// CHECK: 23 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |#...............|
// CHECK: 00 00 |..|
// CHECK: }
// CHECK: 4 = {
// CHECK: Name = _main
// CHECK: Value = 0
// CHECK: SectionNumber = 1
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_FUNCTION (2)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: 5 = {
// CHECK: Name = _printf
// CHECK: Value = 0
// CHECK: SectionNumber = 0
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: 6 = {
// CHECK: Name = _puts
// CHECK: Value = 0
// CHECK: SectionNumber = 0
// CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK: NumberOfAuxSymbols = 0
// CHECK: AuxillaryData =
// CHECK: }
// CHECK: ]
// CHECK: }

View File

@ -1,51 +1,51 @@
// This tests that default-null weak symbols (a GNU extension) are created
// properly via the .weak directive.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 < %s | coff-dump.py | FileCheck %s
.def _main;
.scl 2;
.type 32;
.endef
.text
.globl _main
.align 16, 0x90
_main: # @main
# BB#0: # %entry
subl $4, %esp
movl $_test_weak, %eax
testl %eax, %eax
je LBB0_2
# BB#1: # %if.then
calll _test_weak
movl $1, %eax
addl $4, %esp
ret
LBB0_2: # %return
xorl %eax, %eax
addl $4, %esp
ret
.weak _test_weak
// CHECK: Symbols = [
// CHECK: Name = _test_weak
// CHECK-NEXT: Value = 0
// CHECK-NEXT: SectionNumber = 0
// CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_WEAK_EXTERNAL (105)
// CHECK-NEXT: NumberOfAuxSymbols = 1
// CHECK-NEXT: AuxillaryData =
// CHECK-NEXT: 05 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 |................|
// CHECK-NEXT: 00 00 |..|
// CHECK: Name = .weak._test_weak.default
// CHECK-NEXT: Value = 0
// CHECK-NEXT: SectionNumber = 65535
// CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK-NEXT: NumberOfAuxSymbols = 0
// CHECK-NEXT: AuxillaryData =
// This tests that default-null weak symbols (a GNU extension) are created
// properly via the .weak directive.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 < %s | coff-dump.py | FileCheck %s
.def _main;
.scl 2;
.type 32;
.endef
.text
.globl _main
.align 16, 0x90
_main: # @main
# BB#0: # %entry
subl $4, %esp
movl $_test_weak, %eax
testl %eax, %eax
je LBB0_2
# BB#1: # %if.then
calll _test_weak
movl $1, %eax
addl $4, %esp
ret
LBB0_2: # %return
xorl %eax, %eax
addl $4, %esp
ret
.weak _test_weak
// CHECK: Symbols = [
// CHECK: Name = _test_weak
// CHECK-NEXT: Value = 0
// CHECK-NEXT: SectionNumber = 0
// CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_WEAK_EXTERNAL (105)
// CHECK-NEXT: NumberOfAuxSymbols = 1
// CHECK-NEXT: AuxillaryData =
// CHECK-NEXT: 05 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 |................|
// CHECK-NEXT: 00 00 |..|
// CHECK: Name = .weak._test_weak.default
// CHECK-NEXT: Value = 0
// CHECK-NEXT: SectionNumber = 65535
// CHECK-NEXT: SimpleType = IMAGE_SYM_TYPE_NULL (0)
// CHECK-NEXT: ComplexType = IMAGE_SYM_DTYPE_NULL (0)
// CHECK-NEXT: StorageClass = IMAGE_SYM_CLASS_EXTERNAL (2)
// CHECK-NEXT: NumberOfAuxSymbols = 0
// CHECK-NEXT: AuxillaryData =