Index: compiler-rt/cmake/builtin-config-ix.cmake =================================================================== --- compiler-rt/cmake/builtin-config-ix.cmake +++ compiler-rt/cmake/builtin-config-ix.cmake @@ -45,7 +45,7 @@ ") set(ARM64 aarch64) -set(ARM32 arm armhf armv4t armv5te armv6 armv6m armv7m armv7em armv7 armv7s armv7k armv8m.main armv8.1m.main) +set(ARM32 arm armhf armv4t armv5te armv6 armv6m armv7m armv7em armv7 armv7s armv7k armv8m.base armv8m.main armv8.1m.main) set(AVR avr) set(HEXAGON hexagon) set(X86 i386) Index: compiler-rt/lib/builtins/CMakeLists.txt =================================================================== --- compiler-rt/lib/builtins/CMakeLists.txt +++ compiler-rt/lib/builtins/CMakeLists.txt @@ -607,6 +607,7 @@ set(armv6m_SOURCES ${thumb1_SOURCES}) set(armv7m_SOURCES ${arm_SOURCES}) set(armv7em_SOURCES ${arm_SOURCES}) +set(armv8m.base_SOURCES ${thumb1_SOURCES}) set(armv8m.main_SOURCES ${arm_SOURCES}) set(armv8.1m.main_SOURCES ${arm_SOURCES}) Index: compiler-rt/lib/builtins/arm/divsi3.S =================================================================== --- compiler-rt/lib/builtins/arm/divsi3.S +++ compiler-rt/lib/builtins/arm/divsi3.S @@ -37,7 +37,11 @@ sdiv r0, r0, r1 bx lr LOCAL_LABEL(divzero): +# if defined(USE_THUMB_1) + movs r0,#0 +# else mov r0,#0 +# endif bx lr #else ESTABLISH_FRAME Index: compiler-rt/lib/builtins/arm/udivsi3.S =================================================================== --- compiler-rt/lib/builtins/arm/udivsi3.S +++ compiler-rt/lib/builtins/arm/udivsi3.S @@ -32,7 +32,11 @@ bx lr LOCAL_LABEL(divby0): +#if defined(USE_THUMB_1) + movs r0, #0 +#else mov r0, #0 +#endif # ifdef __ARM_EABI__ b __aeabi_idiv0 # else