[clang] 35aaf54 - [clang][driver] fix to correctly set devtoolset on RHEL
Quinn Pham via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 13 07:12:54 PDT 2022
Author: Quinn Pham
Date: 2022-06-13T09:12:49-05:00
New Revision: 35aaf548237a4f213ba9d95de53b33c5ce1eadce
URL: https://github.com/llvm/llvm-project/commit/35aaf548237a4f213ba9d95de53b33c5ce1eadce
DIFF: https://github.com/llvm/llvm-project/commit/35aaf548237a4f213ba9d95de53b33c5ce1eadce.diff
LOG: [clang][driver] fix to correctly set devtoolset on RHEL
This patch correctly sets the devtoolset on RHEL.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D127310
Added:
Modified:
clang/lib/Driver/ToolChains/Gnu.cpp
clang/unittests/Driver/ToolChainTest.cpp
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index c6ea1d026647..f4caa5e10609 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2154,7 +2154,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
}
if (ChosenToolsetVersion > 0)
- Prefixes.push_back(ChosenToolsetDir);
+ Prefixes.push_back(ChosenToolsetDir + "/root/usr");
}
// Fall back to /usr which is used by most non-Solaris systems.
diff --git a/clang/unittests/Driver/ToolChainTest.cpp b/clang/unittests/Driver/ToolChainTest.cpp
index 33389a52c6bb..3637b10cdd66 100644
--- a/clang/unittests/Driver/ToolChainTest.cpp
+++ b/clang/unittests/Driver/ToolChainTest.cpp
@@ -587,9 +587,9 @@ TEST(ToolChainTest, Toolsets) {
llvm::MemoryBuffer::getMemBuffer("\n"));
// File needed for GCC installation detection.
- InMemoryFileSystem->addFile(
- "/opt/rh/gcc-toolset-12/lib/gcc/x86_64-redhat-linux/11/crtbegin.o", 0,
- llvm::MemoryBuffer::getMemBuffer("\n"));
+ InMemoryFileSystem->addFile("/opt/rh/gcc-toolset-12/root/usr/lib/gcc/"
+ "x86_64-redhat-linux/11/crtbegin.o",
+ 0, llvm::MemoryBuffer::getMemBuffer("\n"));
DiagnosticsEngine Diags(DiagID, &*DiagOpts, new SimpleDiagnosticConsumer);
Driver TheDriver("/bin/clang", "x86_64-redhat-linux", Diags,
@@ -603,9 +603,9 @@ TEST(ToolChainTest, Toolsets) {
C->getDefaultToolChain().printVerboseInfo(OS);
}
EXPECT_EQ("Found candidate GCC installation: "
- "/opt/rh/gcc-toolset-12/lib/gcc/x86_64-redhat-linux/11\n"
+ "/opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/11\n"
"Selected GCC installation: "
- "/opt/rh/gcc-toolset-12/lib/gcc/x86_64-redhat-linux/11\n"
+ "/opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/11\n"
"Candidate multilib: .;@m64\n"
"Selected multilib: .;@m64\n",
S);
@@ -627,9 +627,9 @@ TEST(ToolChainTest, Toolsets) {
llvm::MemoryBuffer::getMemBuffer("\n"));
// File needed for GCC installation detection.
- InMemoryFileSystem->addFile(
- "/opt/rh/devtoolset-12/lib/gcc/x86_64-redhat-linux/11/crtbegin.o", 0,
- llvm::MemoryBuffer::getMemBuffer("\n"));
+ InMemoryFileSystem->addFile("/opt/rh/devtoolset-12/root/usr/lib/gcc/"
+ "x86_64-redhat-linux/11/crtbegin.o",
+ 0, llvm::MemoryBuffer::getMemBuffer("\n"));
DiagnosticsEngine Diags(DiagID, &*DiagOpts, new SimpleDiagnosticConsumer);
Driver TheDriver("/bin/clang", "x86_64-redhat-linux", Diags,
@@ -643,9 +643,9 @@ TEST(ToolChainTest, Toolsets) {
C->getDefaultToolChain().printVerboseInfo(OS);
}
EXPECT_EQ("Found candidate GCC installation: "
- "/opt/rh/devtoolset-12/lib/gcc/x86_64-redhat-linux/11\n"
+ "/opt/rh/devtoolset-12/root/usr/lib/gcc/x86_64-redhat-linux/11\n"
"Selected GCC installation: "
- "/opt/rh/devtoolset-12/lib/gcc/x86_64-redhat-linux/11\n"
+ "/opt/rh/devtoolset-12/root/usr/lib/gcc/x86_64-redhat-linux/11\n"
"Candidate multilib: .;@m64\n"
"Selected multilib: .;@m64\n",
S);
More information about the cfe-commits
mailing list