llvm-project/clang/lib/Driver
Michal Gorny f4debddb09 [Driver] Fix finding multilib gcc install on Gentoo (with gcc-config)
Fix the gcc-config code to support multilib gcc installs properly. This
solves two problems: -mx32 using the 64-bit gcc directory (due to matching
installation triple), and -m32 not respecting gcc-config at all (due to
mismatched installation triple).

In order to fix the former issue, split the multilib scan out of
Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple() (the code
is otherwise unchanged), and call it for each installation found via
gcc-config.

In order to fix the latter issue, split the gcc-config processing out of
Generic_GCC::GCCInstallationDetector::init() and repeat it for all
triples, including extra and biarch triples. The only change
in the gcc-config code itself is adding the call to multilib scan.

Convert the gentoo_linux_gcc_multi_version_tree test input to multilib
x86_64+32+x32 install, and add appropriate tests to linux-header-search
and linux-ld.

Differential Revision: https://reviews.llvm.org/D26887

llvm-svn: 289436
2016-12-12 15:07:43 +00:00
..
Action.cpp Fix MSVC "not all control paths return a value" warning 2016-10-28 10:09:35 +00:00
CMakeLists.txt [Driver] Refactor distro detection & classification as a separate API 2016-11-28 21:11:14 +00:00
Compilation.cpp [Driver][OpenMP] Add logic for offloading-specific argument translation. 2016-10-27 17:39:44 +00:00
CrossWindowsToolChain.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Distro.cpp [Driver] Fix recognizing newer OpenSUSE versions 2016-11-28 21:11:18 +00:00
Driver.cpp [CUDA,Driver] Added --no-cuda-gpu-arch= option. 2016-12-09 22:59:17 +00:00
DriverOptions.cpp Update clang to match llvm r250901. OptTable constructor now takes an ArrayRef. NFC 2015-10-21 16:31:33 +00:00
InputInfo.h Add an Action* member to InputInfo. 2016-01-11 23:15:21 +00:00
Job.cpp [CrashReproducer] Provide a clean dir path for -fmodules-cache-path 2016-12-09 03:11:48 +00:00
MSVCToolChain.cpp Refactor how the MSVC toolchain searches for a compatibility version. 2016-12-07 23:41:58 +00:00
MinGWToolChain.cpp Revert r253898 and r253899, this breaks mingw compilation on openSUSE. 2016-01-12 10:41:20 +00:00
Multilib.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
Phases.cpp Reapply "Change -save-temps to emit unoptimized bitcode files." 2014-12-21 07:00:00 +00:00
SanitizerArgs.cpp [sanitizers] lsan+sancov doesn't need ubsanrt (multi def error) 2016-12-08 22:25:01 +00:00
Tool.cpp Rename the version of ConstructJob for multiple outputs to ConstructJobMultipleOutputs. 2016-11-03 15:41:50 +00:00
ToolChain.cpp [Driver] Simplify ToolChain::GetCXXStdlibType (NFC) 2016-12-12 07:53:47 +00:00
ToolChains.cpp [Driver] Fix finding multilib gcc install on Gentoo (with gcc-config) 2016-12-12 15:07:43 +00:00
ToolChains.h [Driver] Fix finding multilib gcc install on Gentoo (with gcc-config) 2016-12-12 15:07:43 +00:00
Tools.cpp [Driver][Darwin] Disable default stack protector levels in freestanding mode. 2016-12-08 00:22:06 +00:00
Tools.h Refactor how the MSVC toolchain searches for a compatibility version. 2016-12-07 23:41:58 +00:00
Types.cpp [Driver][OpenMP] Update actions builder to create unbundling action when necessary. 2016-10-27 18:00:51 +00:00