Hi, GCC from ports can bootstrap libc++ and libc++abi, but on ARM it does not work since the assembly cannot be parsed by our binutils. In a clang world we use clang's integrated assembler. This means if we use clang to compile it on ARM, it works.
I only set CXX to eg++ since I wanted it to be easily bootstrapable for clang. Turns out that in the initial bootstrap of clang (of course) it links to libestdc++. Only when we recompile clang with clang it will start to use libc++ and libc++abi. This means to bootstrap we: - compile clang with eg++ - compile libcompiler_rt - compile libcxx/libcxxabi with the newly built clang - compile clang with clang Thus I would like to set the default compiler for those two libraries to clang, as once we bootstrapped clang, there will always be a clang that can compile those two. Comments? Patrick diff --git a/lib/libcxx/Makefile b/lib/libcxx/Makefile index 1c2070187f5a..07587081e232 100644 --- a/lib/libcxx/Makefile +++ b/lib/libcxx/Makefile @@ -8,7 +8,7 @@ CXXINCLUDEDIR= /usr/include/c++/v1 .PATH: ${SRCDIR} -CXX=eg++ +CXX= clang++ LIB= c++ diff --git a/lib/libcxxabi/Makefile b/lib/libcxxabi/Makefile index 1e9a7ccc9e0c..019ac860b84f 100644 --- a/lib/libcxxabi/Makefile +++ b/lib/libcxxabi/Makefile @@ -8,7 +8,7 @@ CXXINCLUDEDIR= /usr/include/c++/v1 .PATH: ${SRCDIR} ${.CURDIR}/../libunwind/src -CXX=eg++ +CXX= clang++ LIB= c++abi