Taints the non-acquire RMW's store address with the load part
[oota-llvm.git] / test / MC / ARM / elf-thumbfunc-reloc2.s
1 // RUN: llvm-mc %s -triple=thumbv7-linux-gnueabi -relocation-model=pic \
2 // RUN: -filetype=obj -o - | llvm-readobj -s -sd -r -t | \
3 // RUN: FileCheck %s
4
5 // We want to test relocatable thumb function call.
6
7         .thumb_func
8 foo:
9         .fnstart
10         bx      lr
11         .cantunwind
12         .fnend
13
14         .align  1
15 bar:
16         .fnstart
17         push    {r7, lr}
18         bl      foo(PLT)
19         pop     {r7, pc}
20         .cantunwind
21         .fnend
22
23 // make sure that bl 0 <foo> (fff7feff) is correctly encoded
24 // CHECK: Sections [
25 // CHECK:   SectionData (
26 // CHECK:     0000: 704780B5 FFF7FEFF 80BD
27 // CHECK:   )
28 // CHECK: ]
29
30 // CHECK:      Relocations [
31 // CHECK-NEXT:   Section {{.*}} .rel.text {
32 // CHECK-NEXT:     0x4 R_ARM_THM_CALL foo 0x0
33 // CHECK-NEXT:   }
34 // CHECK-NEXT:   Section {{.*}} .rel.ARM.exidx {
35 // CHECK-NEXT:     0x0 R_ARM_PREL31 .text 0x0
36 // CHECK-NEXT:     0x8 R_ARM_PREL31 .text 0x0
37 // CHECK-NEXT:   }
38 // CHECK-NEXT: ]
39
40 // make sure foo is thumb function: bit 0 = 1
41 // CHECK:      Symbols [
42 // CHECK:        Symbol {
43 // CHECK:          Name: foo
44 // CHECK-NEXT:     Value: 0x1