Value of __ARM_ARCH_ISA_THUMB isn't based on the actual compilation
mode (-mthumb, -marm), it reflect's capability of given CPU.
Due to this:
- use tbumb and thumb2 insteand of __ARM_ARCH_ISA_THUMB
- use '.thumb' directive consistently in all affected files
- decorate all thumb functions using DEFINE_COMPILERRT_THUMB_FUNCTION()
Note: This patch doesn't fix broken Thumb1 variant of __udivsi3 !