mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
MC-COFF: Drop empty sections, and label symbols. Convert relocations
targeted at symbols into relocations relative to the containing section. Patch by Nathan Jeffords! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114823 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -19,8 +19,8 @@ declare i32 @printf(i8* nocapture, ...) nounwind
|
||||
; CHECK: MachineType = IMAGE_FILE_MACHINE_I386 (0x14C)
|
||||
; CHECK: NumberOfSections = 2
|
||||
; CHECK: TimeDateStamp = {{[0-9]+}}
|
||||
; CHECK: PointerToSymbolTable = 0x99
|
||||
; CHECK: NumberOfSymbols = 7
|
||||
; CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}
|
||||
; CHECK: NumberOfSymbols = 6
|
||||
; CHECK: SizeOfOptionalHeader = 0
|
||||
; CHECK: Characteristics = 0x0
|
||||
; CHECK: Sections = [
|
||||
@@ -28,9 +28,9 @@ declare i32 @printf(i8* nocapture, ...) nounwind
|
||||
; CHECK: Name = .text
|
||||
; CHECK: VirtualSize = 0
|
||||
; CHECK: VirtualAddress = 0
|
||||
; CHECK: SizeOfRawData = 21
|
||||
; CHECK: PointerToRawData = 0x64
|
||||
; CHECK: PointerToRelocations = 0x79
|
||||
; 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
|
||||
@@ -40,20 +40,18 @@ declare i32 @printf(i8* nocapture, ...) nounwind
|
||||
; 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 31 |.....$.........1|
|
||||
; CHECK: C0 83 C4 04 C3 |.....|
|
||||
; CHECK: Relocations = [
|
||||
; CHECK: 0 = {
|
||||
; CHECK: VirtualAddress = 0x6
|
||||
; CHECK: SymbolTableIndex = 5
|
||||
; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
|
||||
; CHECK: SymbolTableIndex = 2
|
||||
; CHECK: Type = IMAGE_REL_I386_DIR32 (6)
|
||||
; CHECK: SymbolName = _main
|
||||
; CHECK: SymbolName =
|
||||
; CHECK: }
|
||||
; CHECK: 1 = {
|
||||
; CHECK: VirtualAddress = 0xB
|
||||
; CHECK: SymbolTableIndex = 6
|
||||
; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
|
||||
; CHECK: SymbolTableIndex = 5
|
||||
; CHECK: Type = IMAGE_REL_I386_REL32 (20)
|
||||
; CHECK: SymbolName = L_.str
|
||||
; CHECK: SymbolName = _main
|
||||
; CHECK: }
|
||||
; CHECK: ]
|
||||
; CHECK: }
|
||||
@@ -61,8 +59,8 @@ declare i32 @printf(i8* nocapture, ...) nounwind
|
||||
; CHECK: Name = .data
|
||||
; CHECK: VirtualSize = 0
|
||||
; CHECK: VirtualAddress = 0
|
||||
; CHECK: SizeOfRawData = 12
|
||||
; CHECK: PointerToRawData = 0x8D
|
||||
; CHECK: SizeOfRawData = {{[0-9]+}}
|
||||
; CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
|
||||
; CHECK: PointerToRelocations = 0x0
|
||||
; CHECK: PointerToLineNumbers = 0x0
|
||||
; CHECK: NumberOfRelocations = 0
|
||||
@@ -113,16 +111,6 @@ declare i32 @printf(i8* nocapture, ...) nounwind
|
||||
; CHECK: AuxillaryData =
|
||||
; CHECK: }
|
||||
; CHECK: 3 = {
|
||||
; CHECK: Name = L_.str
|
||||
; 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 = 0
|
||||
; CHECK: AuxillaryData =
|
||||
; CHECK: }
|
||||
; CHECK: 4 = {
|
||||
; CHECK: Name = _printf
|
||||
; CHECK: Value = 0
|
||||
; CHECK: SectionNumber = 0
|
||||
|
@@ -23,8 +23,8 @@ declare i32 @puts(i8* nocapture) nounwind
|
||||
; CHECK: MachineType = IMAGE_FILE_MACHINE_I386 (0x14C)
|
||||
; CHECK: NumberOfSections = 2
|
||||
; CHECK: TimeDateStamp = {{[0-9]+}}
|
||||
; CHECK: PointerToSymbolTable = 0xBB
|
||||
; CHECK: NumberOfSymbols = 9
|
||||
; CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}
|
||||
; CHECK: NumberOfSymbols = 8
|
||||
; CHECK: SizeOfOptionalHeader = 0
|
||||
; CHECK: Characteristics = 0x0
|
||||
; CHECK: Sections = [
|
||||
@@ -32,9 +32,9 @@ declare i32 @puts(i8* nocapture) nounwind
|
||||
; CHECK: Name = .text
|
||||
; CHECK: VirtualSize = 0
|
||||
; CHECK: VirtualAddress = 0
|
||||
; CHECK: SizeOfRawData = 33
|
||||
; CHECK: PointerToRawData = 0x64
|
||||
; CHECK: PointerToRelocations = 0x85
|
||||
; CHECK: SizeOfRawData = {{[0-9]+}}
|
||||
; CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
|
||||
; CHECK: PointerToRelocations = 0x{{[0-9A-F]+}}
|
||||
; CHECK: PointerToLineNumbers = 0x0
|
||||
; CHECK: NumberOfRelocations = 4
|
||||
; CHECK: NumberOfLineNumbers = 0
|
||||
@@ -44,32 +44,28 @@ declare i32 @puts(i8* nocapture) nounwind
|
||||
; 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 00 00 00 00 E8 00 - 00 00 00 31 C0 83 C4 04 |.$.........1....|
|
||||
; CHECK: C3 |.|
|
||||
|
||||
; CHECK: Relocations = [
|
||||
; CHECK: 0 = {
|
||||
; CHECK: VirtualAddress = 0x6
|
||||
; CHECK: SymbolTableIndex = 5
|
||||
; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
|
||||
; CHECK: SymbolTableIndex = 2
|
||||
; CHECK: Type = IMAGE_REL_I386_DIR32 (6)
|
||||
; CHECK: SymbolName = _main
|
||||
; CHECK: SymbolName =
|
||||
; CHECK: }
|
||||
; CHECK: 1 = {
|
||||
; CHECK: VirtualAddress = 0xB
|
||||
; CHECK: SymbolTableIndex = 6
|
||||
; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
|
||||
; CHECK: SymbolTableIndex = 5
|
||||
; CHECK: Type = IMAGE_REL_I386_REL32 (20)
|
||||
; CHECK: SymbolName = L_.str
|
||||
; CHECK: SymbolName = _main
|
||||
; CHECK: }
|
||||
; CHECK: 2 = {
|
||||
; CHECK: VirtualAddress = 0x12
|
||||
; CHECK: SymbolTableIndex = 7
|
||||
; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
|
||||
; CHECK: SymbolTableIndex = 6
|
||||
; CHECK: Type = IMAGE_REL_I386_DIR32 (6)
|
||||
; CHECK: SymbolName = _printf
|
||||
; CHECK: }
|
||||
; CHECK: 3 = {
|
||||
; CHECK: VirtualAddress = 0x17
|
||||
; CHECK: SymbolTableIndex = 8
|
||||
; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}
|
||||
; CHECK: SymbolTableIndex = 7
|
||||
; CHECK: Type = IMAGE_REL_I386_REL32 (20)
|
||||
; CHECK: SymbolName = _str
|
||||
; CHECK: }
|
||||
@@ -79,8 +75,8 @@ declare i32 @puts(i8* nocapture) nounwind
|
||||
; CHECK: Name = .data
|
||||
; CHECK: VirtualSize = 0
|
||||
; CHECK: VirtualAddress = 0
|
||||
; CHECK: SizeOfRawData = 14
|
||||
; CHECK: PointerToRawData = 0xAD
|
||||
; CHECK: SizeOfRawData = {{[0-9]+}}
|
||||
; CHECK: PointerToRawData = 0x{{[0-9A-F]+}}
|
||||
; CHECK: PointerToRelocations = 0x0
|
||||
; CHECK: PointerToLineNumbers = 0x0
|
||||
; CHECK: NumberOfRelocations = 0
|
||||
@@ -133,19 +129,7 @@ declare i32 @puts(i8* nocapture) nounwind
|
||||
; CHECK: NumberOfAuxSymbols = 0
|
||||
; CHECK: AuxillaryData =
|
||||
|
||||
; CHECK: }
|
||||
; CHECK: 3 = {
|
||||
; CHECK: Name = L_.str
|
||||
; 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 = 0
|
||||
; CHECK: AuxillaryData =
|
||||
|
||||
; CHECK: }
|
||||
; CHECK: 4 = {
|
||||
; CHECK: Name = _printf
|
||||
; CHECK: Value = 0
|
||||
; CHECK: SectionNumber = 0
|
||||
@@ -156,18 +140,18 @@ declare i32 @puts(i8* nocapture) nounwind
|
||||
; CHECK: AuxillaryData =
|
||||
|
||||
; CHECK: }
|
||||
; CHECK: 5 = {
|
||||
; CHECK: 4 = {
|
||||
; CHECK: Name = _str
|
||||
; CHECK: Value = 7
|
||||
; 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: StorageClass = IMAGE_SYM_CLASS_LABEL (6)
|
||||
; CHECK: NumberOfAuxSymbols = 0
|
||||
; CHECK: AuxillaryData =
|
||||
|
||||
; CHECK: }
|
||||
; CHECK: 6 = {
|
||||
; CHECK: 5 = {
|
||||
; CHECK: Name = _puts
|
||||
; CHECK: Value = 0
|
||||
; CHECK: SectionNumber = 0
|
||||
|
Reference in New Issue
Block a user