llvm-mirror/test/MC/ARM/elf-thumbfunc-reloc2.s
Rafael Espindola 71b6b2942e Don't pass relocation-model= to tests that don't need it.
Very few things in MC itself use the option. Most of the code that that
uses it could be move to CodeGen.

llvm-svn: 269871
2016-05-18 00:27:17 +00:00

45 lines
981 B
ArmAsm

// RUN: llvm-mc %s -triple=thumbv7-linux-gnueabi \
// 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