I am new to rust and I am cross-compiling from x86-64 to armv7. I understand that rust compiler is based on llvm but to be able to cross-compile with success I had to specifiy the linker to my gcc cross toolchain. It now works nicelly but I don't understand why I had to do that ? Is not llvm able to cross link ? Is it ok to compile using llvm and link using gcc ?
LLVM's linker is not as mature, feature-complete, or well-supported as ancient linkers such as the GNU ld. Hence, in some settings (depending on host platform, distribution-specific configurations, etc.), linking is delegated to the built-in system linker.