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