A hybrid toolchain for compiling ARM Cortex-M code with the LLVM Clang compiler and GCC linker