forked from OSchip/llvm-project
Driver: Don't mix system tools with devtoolset tools on RHEL
Summary: On RHEL, devtoolset provides a more up-to-date toolchain than the base install, and we want to make sure all the tools use are from the same toolchain. Reviewers: rsmith, bruno Reviewed By: bruno Subscribers: bruno, cfe-commits Differential Revision: https://reviews.llvm.org/D34848 llvm-svn: 336037
This commit is contained in:
parent
0e9de769a0
commit
c5fe10f365
|
@ -238,6 +238,15 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
|||
ExtraOpts.push_back("relro");
|
||||
}
|
||||
|
||||
if (GCCInstallation.getParentLibPath().find("opt/rh/devtoolset") !=
|
||||
StringRef::npos)
|
||||
// With devtoolset on RHEL, we want to add a bin directory that is relative
|
||||
// to the detected gcc install, because if we are using devtoolset gcc then
|
||||
// we want to use other tools from devtoolset (e.g. ld) instead of the
|
||||
// standard system tools.
|
||||
PPaths.push_back(Twine(GCCInstallation.getParentLibPath() +
|
||||
"/../bin").str());
|
||||
|
||||
if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb)
|
||||
ExtraOpts.push_back("-X");
|
||||
|
||||
|
|
|
@ -1782,3 +1782,12 @@
|
|||
// CHECK-LD-GENTOO-X32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
|
||||
// CHECK-LD-GENTOO-X32: "-lc"
|
||||
// CHECK-LD-GENTOO-X32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
|
||||
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --gcc-toolchain="%S/Inputs/rhel_7_tree/opt/rh/devtoolset-7/root/usr" \
|
||||
// RUN: --sysroot=%S/Inputs/rhel_7_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LD-RHEL7-DTS %s
|
||||
// CHECK-LD-RHEL7-DTS: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
|
||||
// CHECK-LD-RHLE7-DTS: Selected GCC installation: [[GCC_INSTALL:[[SYSROOT]]/lib/gcc/x86_64-redhat-linux/7]]
|
||||
// CHECK-LD-RHEL7-DTS-NOT: /usr/bin/ld
|
||||
// CHECK-LD-RHLE7-DTS: [[GCC_INSTALL]/../../../bin/ld
|
||||
|
|
Loading…
Reference in New Issue