Hey, there, Recently I'm trying to build a non-gnu toolchain with musl, clang, llvm, libc++, compiler-rt. While static-pie feature is very useful in our project, musl-clang force to link a dynamic linker into the binary. This behavior will cause a crash in c++ programs with compiler-rt and libc++. For more details and reproduction of this bug, you can read my previous email to llvm-dev mail lists.[1] I spend a few days to find the reason -- in function _dlstart_c, the program will get a "base" of relocation in /lib/ld-musl-x86_64.so.1, which is not right when it tries to relocate .rel.dyn section in the binary. Overall, the static-pie program does not need a dynamic linker at all. So maybe we should remove this argument in wrapper when static-pie is enabled. Thank you very much. [1]. https://groups.google.com/forum/#!msg/llvm-dev/XPrSPqD2zjM/YtH6Fi2YAgAJ -- Best Regards. Youren Shen.