mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-18 00:38:31 +00:00
Revise test to run llc and llvm-mc separately.
Differential Revision: http://reviews.llvm.org/D10066 llvm-svn: 238508
This commit is contained in:
parent
e2538b5639
commit
b63298e0c8
@ -1,7 +1,5 @@
|
||||
; Verify the assembler produces the expected expressions
|
||||
; RUN: llc -mtriple=x86_64-pc-win32 %s -o - | FileCheck %s
|
||||
; Verify the .fix data section conveys the right offsets and the right relocations
|
||||
; RUN: llc -mtriple=x86_64-pc-win32 -filetype=obj %s -o - | llvm-readobj -relocations -expand-relocs -sections -section-data | FileCheck %s --check-prefix=READOBJ
|
||||
|
||||
;;;; some globals
|
||||
|
||||
@ -37,61 +35,3 @@
|
||||
i64 256,
|
||||
i32 trunc(i64 sub(i64 ptrtoint(i32* @g3 to i64), i64 ptrtoint(i32* getelementptr inbounds (%struct.EEType, %struct.EEType* @t6, i32 0, i32 2) to i64)) to i32 )
|
||||
}, section ".fix"
|
||||
|
||||
; READOBJ: Section {
|
||||
; READOBJ: Number: 5
|
||||
; READOBJ: Name: .fix (2E 66 69 78 00 00 00 00)
|
||||
; READOBJ: VirtualSize: 0x0
|
||||
; READOBJ: VirtualAddress: 0x0
|
||||
; READOBJ: RawDataSize: 56
|
||||
; READOBJ: PointerToRawData: 0xEC
|
||||
; READOBJ: PointerToRelocations: 0x124
|
||||
; READOBJ: PointerToLineNumbers: 0x0
|
||||
; READOBJ: RelocationCount: 6
|
||||
; READOBJ: LineNumberCount: 0
|
||||
; READOBJ: Characteristics [ (0xC0500040)
|
||||
; READOBJ: IMAGE_SCN_ALIGN_16BYTES (0x500000)
|
||||
; READOBJ: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
; READOBJ: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
; READOBJ: IMAGE_SCN_MEM_WRITE (0x80000000)
|
||||
; READOBJ: ]
|
||||
; READOBJ: SectionData (
|
||||
; READOBJ: 0000: 10000000 00000000 0C000000 00000000 |................|
|
||||
; READOBJ: 0010: 08000000 00000000 0C000000 00000000 |................|
|
||||
; READOBJ: 0020: 01020000 00000000 00010000 00000000 |................|
|
||||
; READOBJ: 0030: 0C000000 00000000 |........|
|
||||
; READOBJ: )
|
||||
; READOBJ: }
|
||||
; READOBJ: ]
|
||||
; READOBJ: Relocations [
|
||||
; READOBJ: Section (5) .fix {
|
||||
; READOBJ: Relocation {
|
||||
; READOBJ: Offset: 0x0
|
||||
; READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
; READOBJ: Symbol: .rdata
|
||||
; READOBJ: }
|
||||
; READOBJ: Relocation {
|
||||
; READOBJ: Offset: 0x8
|
||||
; READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
; READOBJ: Symbol: .rdata
|
||||
; READOBJ: }
|
||||
; READOBJ: Relocation {
|
||||
; READOBJ: Offset: 0x10
|
||||
; READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
; READOBJ: Symbol: .rdata
|
||||
; READOBJ: }
|
||||
; READOBJ: Relocation {
|
||||
; READOBJ: Offset: 0x18
|
||||
; READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
; READOBJ: Symbol: .rdata
|
||||
; READOBJ: }
|
||||
; READOBJ: Relocation {
|
||||
; READOBJ: Offset: 0x1C
|
||||
; READOBJ: Type: IMAGE_REL_AMD64_ADDR32NB (3)
|
||||
; READOBJ: Symbol: g3
|
||||
; READOBJ: }
|
||||
; READOBJ: Relocation {
|
||||
; READOBJ: Offset: 0x30
|
||||
; READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
; READOBJ: Symbol: .rdata
|
||||
; READOBJ: }
|
||||
|
118
llvm/test/MC/COFF/cross-section-relative.s
Normal file
118
llvm/test/MC/COFF/cross-section-relative.s
Normal file
@ -0,0 +1,118 @@
|
||||
// Verify the .fix data section conveys the right offsets and the right relocations
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s -o - | llvm-readobj -relocations -expand-relocs -sections -section-data | FileCheck %s --check-prefix=READOBJ
|
||||
|
||||
.text
|
||||
.section .rdata,"dr"
|
||||
.globl g1 # @g1
|
||||
.align 4
|
||||
g1:
|
||||
.long 1 # 0x1
|
||||
|
||||
.globl g2 # @g2
|
||||
.align 4
|
||||
g2:
|
||||
.long 2 # 0x2
|
||||
|
||||
.globl g3 # @g3
|
||||
.align 4
|
||||
g3:
|
||||
.long 3 # 0x3
|
||||
|
||||
.globl g4 # @g4
|
||||
.align 4
|
||||
g4:
|
||||
.long 4 # 0x4
|
||||
|
||||
.section .fix,"dw"
|
||||
.globl t1 # @t1
|
||||
.align 8
|
||||
t1:
|
||||
.quad (g3-t1)+4
|
||||
|
||||
.globl t2 # @t2
|
||||
.align 8
|
||||
t2:
|
||||
.quad g3-t2
|
||||
|
||||
.globl t3 # @t3
|
||||
.align 8
|
||||
t3:
|
||||
.quad (g3-t3)-4
|
||||
|
||||
.globl t4 # @t4
|
||||
.align 4
|
||||
t4:
|
||||
.long g3-t4
|
||||
|
||||
.globl t5 # @t5
|
||||
.align 4
|
||||
t5:
|
||||
.long g3@IMGREL
|
||||
|
||||
.globl t6 # @t6
|
||||
.align 16
|
||||
t6:
|
||||
.ascii "\001\002"
|
||||
.zero 6
|
||||
.quad 256 # 0x100
|
||||
.long g3-(t6+16)
|
||||
.zero 4
|
||||
|
||||
|
||||
// READOBJ: Section {
|
||||
// READOBJ: Number: 5
|
||||
// READOBJ: Name: .fix (2E 66 69 78 00 00 00 00)
|
||||
// READOBJ: VirtualSize: 0x0
|
||||
// READOBJ: VirtualAddress: 0x0
|
||||
// READOBJ: RawDataSize: 56
|
||||
// READOBJ: PointerToRawData: 0xEC
|
||||
// READOBJ: PointerToRelocations: 0x124
|
||||
// READOBJ: PointerToLineNumbers: 0x0
|
||||
// READOBJ: RelocationCount: 6
|
||||
// READOBJ: LineNumberCount: 0
|
||||
// READOBJ: Characteristics [ (0xC0500040)
|
||||
// READOBJ: IMAGE_SCN_ALIGN_16BYTES (0x500000)
|
||||
// READOBJ: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
// READOBJ: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
// READOBJ: IMAGE_SCN_MEM_WRITE (0x80000000)
|
||||
// READOBJ: ]
|
||||
// READOBJ: SectionData (
|
||||
// READOBJ: 0000: 10000000 00000000 0C000000 00000000 |................|
|
||||
// READOBJ: 0010: 08000000 00000000 0C000000 00000000 |................|
|
||||
// READOBJ: 0020: 01020000 00000000 00010000 00000000 |................|
|
||||
// READOBJ: 0030: 0C000000 00000000 |........|
|
||||
// READOBJ: )
|
||||
// READOBJ: }
|
||||
// READOBJ: ]
|
||||
// READOBJ: Relocations [
|
||||
// READOBJ: Section (5) .fix {
|
||||
// READOBJ: Relocation {
|
||||
// READOBJ: Offset: 0x0
|
||||
// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
// READOBJ: Symbol: .rdata
|
||||
// READOBJ: }
|
||||
// READOBJ: Relocation {
|
||||
// READOBJ: Offset: 0x8
|
||||
// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
// READOBJ: Symbol: .rdata
|
||||
// READOBJ: }
|
||||
// READOBJ: Relocation {
|
||||
// READOBJ: Offset: 0x10
|
||||
// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
// READOBJ: Symbol: .rdata
|
||||
// READOBJ: }
|
||||
// READOBJ: Relocation {
|
||||
// READOBJ: Offset: 0x18
|
||||
// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
// READOBJ: Symbol: .rdata
|
||||
// READOBJ: }
|
||||
// READOBJ: Relocation {
|
||||
// READOBJ: Offset: 0x1C
|
||||
// READOBJ: Type: IMAGE_REL_AMD64_ADDR32NB (3)
|
||||
// READOBJ: Symbol: g3
|
||||
// READOBJ: }
|
||||
// READOBJ: Relocation {
|
||||
// READOBJ: Offset: 0x30
|
||||
// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
|
||||
// READOBJ: Symbol: .rdata
|
||||
// READOBJ: }
|
Loading…
x
Reference in New Issue
Block a user