1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/MC/ARM/elf-thumbfunc-reloc2.s
Fangrui Song 28e82b6565 [llvm-readobj] Change -t to --symbols in tests. NFC
-t is --symbols in llvm-readobj but --section-details (unimplemented) in readelf.
The confusing option should not be used since we aim for improving
compatibility.

Keep just one llvm-readobj -t use case in test/tools/llvm-readobj/symbols.test

llvm-svn: 359661
2019-05-01 09:28:24 +00:00

45 lines
989 B
ArmAsm

// RUN: llvm-mc %s -triple=thumbv7-linux-gnueabi \
// RUN: -filetype=obj -o - | llvm-readobj -S --sd -r --symbols | \
// 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