mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-04 03:44:59 +00:00
Avoid unsupported LLD options
Differential Revision: https://reviews.llvm.org/D70919
This commit is contained in:
parent
4024d49edc
commit
d567b0ba84
@ -209,7 +209,11 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA,
|
||||
bool IncStartFiles = !Args.hasArg(options::OPT_nostartfiles);
|
||||
bool IncDefLibs = !Args.hasArg(options::OPT_nodefaultlibs);
|
||||
bool UseG0 = false;
|
||||
const char *Exec = Args.MakeArgString(HTC.GetLinkerPath());
|
||||
bool UseLLD = (llvm::sys::path::filename(Exec).equals_lower("ld.lld") ||
|
||||
llvm::sys::path::stem(Exec).equals_lower("ld.lld"));
|
||||
bool UseShared = IsShared && !IsStatic;
|
||||
StringRef CpuVer = toolchains::HexagonToolChain::GetTargetCPUVersion(Args);
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Silence warnings for various options
|
||||
@ -232,9 +236,10 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA,
|
||||
for (const auto &Opt : HTC.ExtraOpts)
|
||||
CmdArgs.push_back(Opt.c_str());
|
||||
|
||||
CmdArgs.push_back("-march=hexagon");
|
||||
StringRef CpuVer = toolchains::HexagonToolChain::GetTargetCPUVersion(Args);
|
||||
CmdArgs.push_back(Args.MakeArgString("-mcpu=hexagon" + CpuVer));
|
||||
if (!UseLLD) {
|
||||
CmdArgs.push_back("-march=hexagon");
|
||||
CmdArgs.push_back(Args.MakeArgString("-mcpu=hexagon" + CpuVer));
|
||||
}
|
||||
|
||||
if (IsShared) {
|
||||
CmdArgs.push_back("-shared");
|
||||
|
0
clang/test/Driver/Inputs/hexagon_tree/Tools/bin/ld.lld
Executable file
0
clang/test/Driver/Inputs/hexagon_tree/Tools/bin/ld.lld
Executable file
@ -536,3 +536,25 @@
|
||||
// RUN: | FileCheck -check-prefix=CHECK080 %s
|
||||
// CHECK080: "-cc1"
|
||||
// CHECK080: "-Wreturn-type"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Default, not passing -fuse-ld
|
||||
// -----------------------------------------------------------------------------
|
||||
// RUN: %clang -### -target hexagon-unknown-elf \
|
||||
// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
|
||||
// RUN: -mcpu=hexagonv60 \
|
||||
// RUN: %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK081 %s
|
||||
// CHECK081: "-march=hexagon"
|
||||
// CHECK081: "-mcpu=hexagonv60"
|
||||
// -----------------------------------------------------------------------------
|
||||
// Passing -fuse-ld=lld
|
||||
// -----------------------------------------------------------------------------
|
||||
// RUN: %clang -### -target hexagon-unknown-elf \
|
||||
// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
|
||||
// RUN: -mcpu=hexagonv60 \
|
||||
// RUN: -fuse-ld=lld \
|
||||
// RUN: %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix=CHECK082 %s
|
||||
// CHECK082-NOT: -march=
|
||||
// CHECK082-NOT: -mcpu=
|
||||
|
Loading…
Reference in New Issue
Block a user