Index: lib/builtins/arm/bswapdi2.S =================================================================== --- lib/builtins/arm/bswapdi2.S +++ lib/builtins/arm/bswapdi2.S @@ -11,6 +11,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif // // extern uint64_t __bswapdi2(uint64_t); Index: lib/builtins/arm/bswapsi2.S =================================================================== --- lib/builtins/arm/bswapsi2.S +++ lib/builtins/arm/bswapsi2.S @@ -11,6 +11,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif // // extern uint32_t __bswapsi2(uint32_t); Index: lib/builtins/arm/clzdi2.S =================================================================== --- lib/builtins/arm/clzdi2.S +++ lib/builtins/arm/clzdi2.S @@ -15,6 +15,10 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif + .p2align 2 DEFINE_COMPILERRT_FUNCTION(__clzdi2) Index: lib/builtins/arm/clzsi2.S =================================================================== --- lib/builtins/arm/clzsi2.S +++ lib/builtins/arm/clzsi2.S @@ -15,6 +15,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 2 DEFINE_COMPILERRT_FUNCTION(__clzsi2) Index: lib/builtins/arm/divmodsi4.S =================================================================== --- lib/builtins/arm/divmodsi4.S +++ lib/builtins/arm/divmodsi4.S @@ -23,6 +23,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 3 DEFINE_COMPILERRT_FUNCTION(__divmodsi4) Index: lib/builtins/arm/divsi3.S =================================================================== --- lib/builtins/arm/divsi3.S +++ lib/builtins/arm/divsi3.S @@ -22,6 +22,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 3 // Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine. Index: lib/builtins/arm/modsi3.S =================================================================== --- lib/builtins/arm/modsi3.S +++ lib/builtins/arm/modsi3.S @@ -22,6 +22,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 3 DEFINE_COMPILERRT_FUNCTION(__modsi3) Index: lib/builtins/arm/udivmodsi4.S =================================================================== --- lib/builtins/arm/udivmodsi4.S +++ lib/builtins/arm/udivmodsi4.S @@ -16,6 +16,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 2 DEFINE_COMPILERRT_FUNCTION(__udivmodsi4) Index: lib/builtins/arm/udivsi3.S =================================================================== --- lib/builtins/arm/udivsi3.S +++ lib/builtins/arm/udivsi3.S @@ -16,6 +16,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 2 DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_uidiv, __udivsi3) Index: lib/builtins/arm/umodsi3.S =================================================================== --- lib/builtins/arm/umodsi3.S +++ lib/builtins/arm/umodsi3.S @@ -16,6 +16,9 @@ .syntax unified .text +#if __ARM_ARCH_ISA_THUMB == 2 + .thumb +#endif .p2align 2 DEFINE_COMPILERRT_FUNCTION(__umodsi3)