mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
f314160e32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240017 91177308-0d34-0410-b5e6-96231b3b80d8
45 lines
1003 B
ArmAsm
45 lines
1003 B
ArmAsm
// RUN: llvm-mc %s -triple=thumbv7-linux-gnueabi -relocation-model=pic \
|
|
// RUN: -filetype=obj -o - | llvm-readobj -s -sd -r -t | \
|
|
// RUN: FileCheck %s
|
|
|
|
// We want to test relocatable thumb function call.
|
|
|
|
.thumb_func
|
|
foo:
|
|
.fnstart
|
|
bx lr
|
|
.cantunwind
|
|
.fnend
|
|
|
|
.align 1
|
|
bar:
|
|
.fnstart
|
|
push {r7, lr}
|
|
bl foo(PLT)
|
|
pop {r7, pc}
|
|
.cantunwind
|
|
.fnend
|
|
|
|
// make sure that bl 0 <foo> (fff7feff) is correctly encoded
|
|
// CHECK: Sections [
|
|
// CHECK: SectionData (
|
|
// CHECK: 0000: 704780B5 FFF7FEFF 80BD
|
|
// CHECK: )
|
|
// CHECK: ]
|
|
|
|
// CHECK: Relocations [
|
|
// CHECK-NEXT: Section {{.*}} .rel.text {
|
|
// CHECK-NEXT: 0x4 R_ARM_THM_CALL foo 0x0
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: Section {{.*}} .rel.ARM.exidx {
|
|
// CHECK-NEXT: 0x0 R_ARM_PREL31 .text 0x0
|
|
// CHECK-NEXT: 0x8 R_ARM_PREL31 .text 0x0
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
|
|
// make sure foo is thumb function: bit 0 = 1
|
|
// CHECK: Symbols [
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: foo
|
|
// CHECK-NEXT: Value: 0x1
|