Currently my clang/clang++ are not able to compile for other ABIs (neither -m64 nor -m32) due to missing include paths: /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5 /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5/x86_64-pc-linux-gnux32 /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5/backward I tried compile a sample C++ program (get_cpuid_crash.cpp): > $ clang++ get_cpuid_crash.cpp -std=c++11 -m64 -v > clang version 3.9.1 (tags/RELEASE_391/final) > Target: x86_64-pc-linux-gnu > Thread model: posix > InstalledDir: /usr/bin > "/usr/bin/clang-3.9" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name get_cpuid_crash.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/bin/../lib/clang/3.9.1 -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.9.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /home/eod/workspace/pulseaudio-get_cpuid-x32-bug -ferror-limit 19 -fmessage-length 213 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/get_cpuid_crash-2b0fff.o -x c++ get_cpuid_crash.cpp > clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-pc-linux-gnux32 > ignoring nonexistent directory "/usr/local/include" > ignoring nonexistent directory "/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/bin/../lib/clang/3.9.1/include > /usr/include > End of search list. > get_cpuid_crash.cpp:1:10: fatal error: 'cstdint' file not found > #include <cstdint> > ^ > 1 error generated. > $ clang++ get_cpuid_crash.cpp -std=c++11 -mx32 -v > clang version 3.9.1 (tags/RELEASE_391/final) > Target: x86_64-pc-linux-gnux32 > Thread model: posix > InstalledDir: /usr/bin > Selected GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0 > Candidate multilib: .;@mx32 > Candidate multilib: 64;@m64 > Candidate multilib: 32;@m32 > Selected multilib: .;@mx32 > "/usr/bin/clang-3.9" -cc1 -triple x86_64-pc-linux-gnux32 -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name get_cpuid_crash.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/bin/../lib/clang/3.9.1 -internal-isystem /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5 -internal-isystem /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5/x86_64-pc-linux-gnux32 -internal-isystem /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5/backward -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.9.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /home/eod/workspace/pulseaudio-get_cpuid-x32-bug -ferror-limit 19 -fmessage-length 213 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/get_cpuid_crash-ae4df2.o -x c++ get_cpuid_crash.cpp > clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-pc-linux-gnux32 > ignoring nonexistent directory "/usr/local/include" > ignoring nonexistent directory "/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5 > /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5/x86_64-pc-linux-gnux32 > /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/include/g++-v5/backward > /usr/bin/../lib/clang/3.9.1/include > /usr/include > End of search list. > "/usr/bin/x86_64-pc-linux-gnux32-ld" --eh-frame-hdr -m elf32_x86_64 -dynamic-linker /libx32/ld-linux-x32.so.2 -o a.out /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/../../../../libx32/crt1.o /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/../../../../libx32/crti.o /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/crtbegin.o -L/usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0 -L/usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/../../../../libx32 -L/usr/bin/../libx32 -L/lib/../libx32 -L/usr/lib/../libx32 -L/usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/../../../../x86_64-pc-linux-gnux32/lib -L/usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/../../.. -L/usr/bin/../lib -L/lib -L/usr/lib /tmp/get_cpuid_crash-ae4df2.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/crtend.o /usr/lib/gcc/x86_64-pc-linux-gnux32/5.4.0/../../../../libx32/crtn.o The file can found here: https://github.com/EoD/pulseaudio-get_cpuid-x32-crash/blob/master/get_cpuid_crash.cpp
I'm afraid we aren't going to support 3.9 anymore. I'm going to keep this open and focus on stabilizing 4.0 instead.