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