1b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola@@ test st_value bit 0 of thumb function
29bdd78501484a1add2d8a757fd29960dd9fc9de7Tim Northover@ RUN: llvm-mc %s -triple=armv4t-freebsd-eabi -filetype=obj -o - | \
3f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck@ RUN: llvm-readobj -r  | FileCheck %s
4b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola
5b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola
6b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola	.syntax unified
7b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        .text
8b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        .align  2
9b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        .type   f,%function
10b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        .code   16
11b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        .thumb_func
12b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindolaf:
13b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        push    {r7, lr}
14b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        mov     r7, sp
15b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        bl      g
16b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola        pop     {r7, pc}
17b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola
18dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines	.section	.data.rel.local,"aw",%progbits
19dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hinesptr:
20dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines	.long	f
21dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines
22dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines
23b975c27adc2371a9666fa9b8cecd9487966ec5b1Rafael Espindola@@ make sure an R_ARM_THM_CALL relocation is generated for the call to g
24f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck@CHECK:      Relocations [
250c7f116bb6950ef819323d855415b2f2b0aad987Pirama Arumuga Nainar@CHECK-NEXT:   Section {{.*}} .rel.text {
26f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck@CHECK-NEXT:     0x4 R_ARM_THM_CALL g 0x0
27f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck@CHECK-NEXT:   }
28dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines
29dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines
30dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@@ make sure the relocation is with f. That is one way to make sure it includes
31dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@@ the thumb bit.
326948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar@CHECK-NEXT:   Section ({{.*}}) .rel.data.rel.local {
33dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@CHECK-NEXT:     0x0 R_ARM_ABS32 f 0x0
34dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines@CHECK-NEXT:   }
35f89da7210b09a0a0f7c9ee216cd54dca03c6b64aNico Rieck@CHECK-NEXT: ]
36