Build GCC with the following options to get a good libstd++ build. The --with-cpu line appears to the critical line. Without, there are futex symbols missing from libstdc++ resulting in llvm build/linker errors. And don't disable bootstrap, as that appears to break it too. CC="gcc -mtune=arm1176jzf-s -mfpu=vfp -march=armv6zk -Os" \ CXX="g++ -mtune=arm1176jzf-s -mfpu=vfp -march=armv6zk -Os" \ ../configure --prefix=/usr/local --enable-languages=c,c++ --enable-default-pie --enable-default-ssp \ --disable-multilib --with-system-zlib --libexecdir=/usr/local/lib \ --with-isl=/usr/local \ --with-mpfr=/usr/local \ --with-gmp=/usr/local \ --with-mpc=/usr/local \ --enable-lto \ --with-pkgversion=piCore \ --with-cpu=arm1176jzf-s --with-float=hard --with-fpu=vfp