Index: lib/builtins/arm/udivsi3.S =================================================================== --- lib/builtins/arm/udivsi3.S +++ lib/builtins/arm/udivsi3.S @@ -183,6 +183,7 @@ #define IMM # /* due to the range limit of branch in Thumb1, we have to place the block closer */ +#if __ARM_ARCH_ISA_THUMB == 1 LOCAL_LABEL(divby0): movs r0, #0 # if defined(__ARM_EABI__) @@ -190,8 +191,6 @@ # endif JMP(lr) - -#if __ARM_ARCH_ISA_THUMB == 1 #define block(shift) \ lsls r2, r1, IMM shift; \ cmp r0, r2; \ @@ -252,13 +251,13 @@ JMP(lr) #endif /* __ARM_ARCH_EXT_IDIV__ */ -#if __ARM_ARCH_EXT_IDIV__ +#if __ARM_ARCH_ISA_THUMB != 1 LOCAL_LABEL(divby0): - mov r0, #0 + mov r0, #0 # ifdef __ARM_EABI__ - b __aeabi_idiv0 + b __aeabi_idiv0 # else - JMP(lr) + JMP(lr) # endif #endif