[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
This commit is contained in:
Quinn Pham 2022-06-08 10:03:11 -05:00
parent e9bf76675d
commit 35aaf54823
2 changed files with 11 additions and 11 deletions

View File

@ -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.

View File

@ -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);