Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 637008 - sys-devel/llvm-3.9.1-r1 is missing GCC include paths for non-default ABIs
Summary: sys-devel/llvm-3.9.1-r1 is missing GCC include paths for non-default ABIs
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-09 21:23 UTC by EoD
Modified: 2018-01-16 13:54 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description EoD 2017-11-09 21:23:18 UTC
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
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-11-12 08:40:43 UTC
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.