[driver][mips] Revert support for CodeSourcery MIPS toolchainThis is revert of r270366. The support for CS toolchain were dropped too early.llvm-svn: 271109
[driver][mips] Drop support for outdated version of CodeSourcery MIPS toolchainllvm-svn: 270366
Supports Sourcery CodeBench Mips toolchain directories tree.Sourcery CodeBench and modern FSF Mips toolchains require a bit morecomplicated algorithm to calculate headers, libraries and sysroot pa
Supports Sourcery CodeBench Mips toolchain directories tree.Sourcery CodeBench and modern FSF Mips toolchains require a bit morecomplicated algorithm to calculate headers, libraries and sysroot pathsthan implemented by Clang driver now. The main problem is that all thesepaths depend on a set of command line arguments additionally to a targettriple value. For example, let $TC is a toolchain installation directory.If we compile big-endian 32-bit mips code, crtbegin.o is in the$TC/lib/gcc/mips-linux-gnu/4.7.2 folder and the toolchain's linker requires--sysroot=$TC/mips-linux-gnu/libc argument. If we compile little-endian32-bit soft-float mips code, crtbegin.o is in the$TC/lib/gcc/mips-linux-gnu/4.7.2/soft-float/el folder and the toolchain'slinker requires --sysroot=$TC/mips-linux-gnu/libc/soft-float/el argument.1. Calculate MultiarchSuffix using all necessary command line options and use this MultiarchSuffix to detect crtbegin.o location in the GCCInstallationDetector::ScanLibDirForGCCTriple() routine.2. If a user does not provide --sysroot argument to the driver explicitly, calculate new sysroot value based on command line options. Then use this calculated sysroot path: a. To populate a file search paths list in the Linux::Linux() constructor. b. To find Mips toolchain specific include headers directories in the Linux::AddClangSystemIncludeArgs() routine. c. To provide -–sysroot argument for a linker.Note:- The FSF's tree slightly differs (folder names) and is not supported yet.- New addExternCSystemIncludeIfExits() routine is a temporary solution. I plan to move path existence check to the addExternCSystemInclude() routine by a separate commit.The patch reviewed by Rafael Espindola.http://llvm-reviews.chandlerc.com/D644llvm-svn: 179934
show more ...