Hi Sriram, Chandler should probably be the one to review this. Can you add him as a reviewer?
On 30 October 2013 10:14, Sriram Murali <[email protected]> wrote: > Rebased with master > > Hi rafael, rafael.espindola, > > http://llvm-reviews.chandlerc.com/D2040 > > CHANGE SINCE LAST DIFF > http://llvm-reviews.chandlerc.com/D2040?vs=5203&id=5258#toc > > Files: > lib/Driver/ToolChains.cpp > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/include/c++/4.7.3/arm-linux-gnueabihf/.keep > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/include/c++/4.7.3/backward/.keep > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crt1.o > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crti.o > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crtn.o > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7.3/crtbegin.o > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7.3/crtend.o > > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/crtend.o > test/Driver/linux-header-search.cpp > > Index: lib/Driver/ToolChains.cpp > =================================================================== > --- lib/Driver/ToolChains.cpp > +++ lib/Driver/ToolChains.cpp > @@ -2694,6 +2694,21 @@ > StringRef MIPSABIDirSuffix = GCCInstallation.getMIPSABIDirSuffix(); > StringRef BiarchSuffix = GCCInstallation.getBiarchSuffix(); > const GCCVersion &Version = GCCInstallation.getVersion(); > + const std::string GCCMultiArchDir = > + LibDir.str() + "/../" + TripleStr.str() + "/include/c++/"; > + > + // On Ubuntu, find include files for cross-compiler for GCC Version of the > + // form {Major.Minor.Patch} by probing the lib path. > + StringRef ParentPath = llvm::sys::path::parent_path(InstallDir); > + llvm::error_code EC; > + for (llvm::sys::fs::directory_iterator LI(ParentPath.str(), EC), LE; > + !EC && LI != LE; LI = LI.increment(EC)) { > + StringRef VersionText = llvm::sys::path::filename(LI->path()); > + if (addLibStdCXXIncludePaths(GCCMultiArchDir + VersionText.str(), > + TripleStr + BiarchSuffix, > + DriverArgs, CC1Args)) > + break; > + } > > if (addLibStdCXXIncludePaths(LibDir.str() + "/../include", > "/c++/" + Version.Text, TripleStr, > BiarchSuffix, > @@ -2707,7 +2722,9 @@ > Version.MinorStr, > InstallDir.str() + "/include/g++-v" + Version.MajorStr, > // Android standalone toolchain has C++ headers in yet another place. > - LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, > + // FIXME: Retain this line only if toolchains has the form Major.Minor > + // instead of Major.Minor.Patch > + GCCMultiArchDir + Version.Text, > // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++, > // without a subdirectory corresponding to the gcc version. > LibDir.str() + "/../include/c++", > @@ -2719,6 +2736,7 @@ > DriverArgs, CC1Args)) > break; > } > + > } > > bool Linux::isPIEDefault() const { > Index: > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crt1.o > =================================================================== > --- /dev/null > +++ > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crt1.o > @@ -0,0 +1 @@ > +empty > Index: > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crti.o > =================================================================== > --- /dev/null > +++ > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crti.o > @@ -0,0 +1 @@ > +empty > Index: > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crtn.o > =================================================================== > --- /dev/null > +++ > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/arm-linux-gnueabihf/lib/crtn.o > @@ -0,0 +1 @@ > +empty > Index: > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7.3/crtbegin.o > =================================================================== > --- /dev/null > +++ > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7.3/crtbegin.o > @@ -0,0 +1 @@ > +empty > Index: > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7.3/crtend.o > =================================================================== > --- /dev/null > +++ > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7.3/crtend.o > @@ -0,0 +1 @@ > +empty > Index: > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/crtend.o > =================================================================== > --- /dev/null > +++ > test/Driver/Inputs/ubuntu_13.04_multiarch_tree/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/crtend.o > @@ -0,0 +1 @@ > +empty > Index: test/Driver/linux-header-search.cpp > =================================================================== > --- test/Driver/linux-header-search.cpp > +++ test/Driver/linux-header-search.cpp > @@ -37,6 +37,9 @@ > // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04-CROSS %s > // CHECK-UBUNTU-13-04-CROSS: "{{[^"]*}}clang{{[^"]*}}" "-cc1" > // CHECK-UBUNTU-13-04-CROSS: "-isysroot" "[[SYSROOT:[^"]+]]" > +// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" > "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../arm-linux-gnueabihf/include/c++/4.7.3" > +// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" > "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../arm-linux-gnueabihf/include/c++/4.7.3/arm-linux-gnueabihf" > +// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" > "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../arm-linux-gnueabihf/include/c++/4.7.3/backward" > // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" > "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/c++/4.7" > // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" > "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/c++/4.7/backward" > // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" > "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/arm-linux-gnueabihf/c++/4.7" _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
