1Clang looks for the presence of crtbegin.o to decide whether to add GCC standard 2C++ library directories to the system header lookup path. 3 4The presence of usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o and 5usr/include/c++/4.6 inside this sysroot will cause clang to add the following 6directories to the path: 7 - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6 8 - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/x86_64-linux-gnu/c++/4.6 9 - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/x86_64-unknown-linux-gnu/c++/4.6 10 - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/backward 11 12As well as the standard paths: 13 - $SYSROOT/usr/local/include 14 - $SYSROOT/include 15 - $SYSROOT/usr/include 16 17See clang's lib/Driver/ToolChains.cpp: 18 - FilterNonExistent: checks for crtbegin.o 19 - Linux::AddClangCXXStdlibIncludeArgs: looks for various c++ directories 20