When a cargo project, which depends on the cc crate and a C++ runtime, is built on an musl target, the generated binary is broken: the program interpreter is set to "/lib/ld-linux-aarch64.so.1" instead of "/lib/ld-musl-aarch64.so.1".
After having posted an issue in cc crate (https://github.com/alexcrichton/cc-rs/issues/635) it appears the problem is rustc choosing the wrong linker.