[Driver] Fix architecture triplets and search paths for Linux x32Currently, support for the x32 ABI is handled as a multilib to thex86_64 target only. However, full self-hosting x32 systems treati
[Driver] Fix architecture triplets and search paths for Linux x32Currently, support for the x32 ABI is handled as a multilib to thex86_64 target only. However, full self-hosting x32 systems treating itas a separate architecture with its own architecture triplets as well assearch paths exist as well, in Debian's x32 port and elsewhere.This adds the missing architecture triplets and search paths so thatclang can work as a native compiler on x32, and updates the tests sothat they pass when using an x32 libdir suffix.Additionally, we would previously also assume that objects from anyx86_64-linux-gnu GCC installation could be used to target x32. Thischanges the logic so that only GCC installations that include x32support are used when targetting x32, meaning x86_64-linux-gnux32 GCCinstallations, and x86_64-linux-gnu and i686-linux-gnu GCC installationsthat include x32 multilib support.Reviewed By: MaskRayDifferential Revision: https://reviews.llvm.org/D52050
show more ...
Teach the logic for locating an installed GCC about the system root.This requires fixing a latent bug -- if we used the default host tripleinstead of an autodetected triple to locate GCC's installa
Teach the logic for locating an installed GCC about the system root.This requires fixing a latent bug -- if we used the default host tripleinstead of an autodetected triple to locate GCC's installation, wedidn't go back and fix the GCC triple. Correct that with a pile ofhacks. This entire routine needs a major refactoring which I'm savingfor a subsequent commit. Essentially, the detection of the GCC tripleshould be hoisted into the same routine as we locate the GCCinstallation: the first is intrinsically tied to the latter. Then theroutine will just return the triple and base directory.Also start to bring the rest of the library search path logic undertest, including locating crtbegin.o. Still need to test the multilib andother behaviors, but there are also bugs in the way of that.llvm-svn: 140995