Author: dschuff Date: Wed Aug 26 12:14:08 2015 New Revision: 246040 URL: http://llvm.org/viewvc/llvm-project?rev=246040&view=rev Log: Change Native Client x86 usr include and link path to match SDK expectations
GNU multilib style uses x86_64-nacl/include and x86_64-nacl/usr/include but the SDK expects i686-nacl/usr/include for its files. Change the driver to use this. Fixes https://code.google.com/p/nativeclient/issues/detail?id=4108 Differential Revision: http://reviews.llvm.org/D11271 Modified: cfe/trunk/lib/Driver/ToolChains.cpp cfe/trunk/test/Driver/nacl-direct.c Modified: cfe/trunk/lib/Driver/ToolChains.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=246040&r1=246039&r2=246040&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains.cpp Wed Aug 26 12:14:08 2015 @@ -2328,7 +2328,7 @@ NaClToolChain::NaClToolChain(const Drive switch (Triple.getArch()) { case llvm::Triple::x86: { file_paths.push_back(FilePath + "x86_64-nacl/lib32"); - file_paths.push_back(FilePath + "x86_64-nacl/usr/lib32"); + file_paths.push_back(FilePath + "i686-nacl/usr/lib"); prog_paths.push_back(ProgPath + "x86_64-nacl/bin"); file_paths.push_back(ToolPath + "i686-nacl"); break; @@ -2380,12 +2380,21 @@ void NaClToolChain::AddClangSystemInclud SmallString<128> P(D.Dir + "/../"); switch (getTriple().getArch()) { + case llvm::Triple::x86: + // x86 is special because multilib style uses x86_64-nacl/include for libc + // headers but the SDK wants i686-nacl/usr/include. The other architectures + // have the same substring. + llvm::sys::path::append(P, "i686-nacl/usr/include"); + addSystemInclude(DriverArgs, CC1Args, P.str()); + llvm::sys::path::remove_filename(P); + llvm::sys::path::remove_filename(P); + llvm::sys::path::remove_filename(P); + llvm::sys::path::append(P, "x86_64-nacl/include"); + addSystemInclude(DriverArgs, CC1Args, P.str()); + return; case llvm::Triple::arm: llvm::sys::path::append(P, "arm-nacl/usr/include"); break; - case llvm::Triple::x86: - llvm::sys::path::append(P, "x86_64-nacl/usr/include"); - break; case llvm::Triple::x86_64: llvm::sys::path::append(P, "x86_64-nacl/usr/include"); break; Modified: cfe/trunk/test/Driver/nacl-direct.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/nacl-direct.c?rev=246040&r1=246039&r2=246040&view=diff ============================================================================== --- cfe/trunk/test/Driver/nacl-direct.c (original) +++ cfe/trunk/test/Driver/nacl-direct.c Wed Aug 26 12:14:08 2015 @@ -9,7 +9,7 @@ // CHECK-I686: "-target-cpu" "pentium4" // CHECK-I686: "-resource-dir" "foo" // CHECK-I686: "-internal-isystem" "foo{{/|\\\\}}include" -// CHECK-I686: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}usr{{/|\\\\}}include" +// CHECK-I686: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}i686-nacl{{/|\\\\}}usr{{/|\\\\}}include" // CHECK-I686: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}include" // CHECK-I686: as{{(.exe)?}}" "--32" // CHECK-I686: ld{{(.exe)?}}" @@ -17,7 +17,7 @@ // CHECK-I686: "-m" "elf_i386_nacl" // CHECK-I686: "-static" // CHECK-I686: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}lib32" -// CHECK-I686: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}usr{{/|\\\\}}lib32" +// CHECK-I686: "-L{{.*}}{{/|\\\\}}..{{/|\\\\}}i686-nacl{{/|\\\\}}usr{{/|\\\\}}lib" // CHECK-I686: "-Lfoo{{/|\\\\}}lib{{/|\\\\}}i686-nacl" // CHECK-I686-NOT: -lpthread // @@ -118,7 +118,7 @@ // CHECK-I686-CXX: "-resource-dir" "foo" // CHECK-I686-CXX: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}v1" // CHECK-I686-CXX: "-internal-isystem" "foo{{/|\\\\}}include" -// CHECK-I686-CXX: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}usr{{/|\\\\}}include" +// CHECK-I686-CXX: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}i686-nacl{{/|\\\\}}usr{{/|\\\\}}include" // CHECK-I686-CXX: "-internal-isystem" "{{.*}}{{/|\\\\}}..{{/|\\\\}}x86_64-nacl{{/|\\\\}}include" // CHECK-I686-CXX: "-lpthread" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits