[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 ...
Reland r311836 - [Driver] Use arch type to find compiler-rt libraries (on Linux)Use llvm::Triple::getArchTypeName() when looking for compiler-rtlibraries, rather than the exact arch string from th
Reland r311836 - [Driver] Use arch type to find compiler-rt libraries (on Linux)Use llvm::Triple::getArchTypeName() when looking for compiler-rtlibraries, rather than the exact arch string from the triple. This ismore correct as it matches the values used when building compiler-rt(builtin-config-ix.cmake) which are the subset of the values allowedin triples.For example, this fixes an issue when the compiler set fori686-pc-linux-gnu triple would not find an i386 compiler-rt library,while this is the exact arch that is detected by compiler-rt. The sameapplies to any other i?86 variant allowed by LLVM.This also makes the special case for MSVC unnecessary, since now i386will be used reliably for all 32-bit x86 variants.Differential Revision: https://reviews.llvm.org/D26796llvm-svn: 311923
Revert r311836 - [Driver] Use arch type to find compiler-rt libraries (on Linux)This causes a breakage on the Android build bot. Let's revert it untilwe figure out the correct solution there.llv
Revert r311836 - [Driver] Use arch type to find compiler-rt libraries (on Linux)This causes a breakage on the Android build bot. Let's revert it untilwe figure out the correct solution there.llvm-svn: 311861
[Driver] Use arch type to find compiler-rt libraries (on Linux)Use llvm::Triple::getArchTypeName() when looking for compiler-rtlibraries, rather than the exact arch string from the triple. This is
[Driver] Use arch type to find compiler-rt libraries (on Linux)Use llvm::Triple::getArchTypeName() when looking for compiler-rtlibraries, rather than the exact arch string from the triple. This ismore correct as it matches the values used when building compiler-rt(builtin-config-ix.cmake) which are the subset of the values allowedin triples.For example, this fixes an issue when the compiler set fori686-pc-linux-gnu triple would not find an i386 compiler-rt library,while this is the exact arch that is detected by compiler-rt. The sameapplies to any other i?86 variant allowed by LLVM.This also makes the special case for MSVC unnecessary, since now i386will be used reliably for all 32-bit x86 variants.Differential Revision: https://reviews.llvm.org/D26796llvm-svn: 311836