svn commit: r363981 - projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch
Dimitry Andric
dim at FreeBSD.org
Thu Aug 6 19:24:17 UTC 2020
Author: dim
Date: Thu Aug 6 19:24:17 2020
New Revision: 363981
URL: https://svnweb.freebsd.org/changeset/base/363981
Log:
Reapply r362235 (by kp):
llvm: Default to -mno-relax on RISC-V
Compiling on a RISC-V system fails with 'relocation R_RISCV_ALIGN
requires unimplemented linker relaxation; recompile with -mno-relax'.
Our default linker (ld.lld) doesn't support relaxation, so default to
no-relax so we don't generate object files the linker can't handle.
Reviewed by: mhorne
Sponsored by: Axiado
Differential Revision: https://reviews.freebsd.org/D25210
Modified:
projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
Modified: projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp
==============================================================================
--- projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp Thu Aug 6 19:23:00 2020 (r363980)
+++ projects/clang1100-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp Thu Aug 6 19:24:17 2020 (r363981)
@@ -536,8 +536,9 @@ void riscv::getRISCVTargetFeatures(const Driver &D, co
if (Args.hasArg(options::OPT_ffixed_x31))
Features.push_back("+reserve-x31");
- // -mrelax is default, unless -mno-relax is specified.
- if (Args.hasFlag(options::OPT_mrelax, options::OPT_mno_relax, true))
+ // FreeBSD local, because ld.lld doesn't support relaxations
+ // -mno-relax is default, unless -mrelax is specified.
+ if (Args.hasFlag(options::OPT_mrelax, options::OPT_mno_relax, false))
Features.push_back("+relax");
else
Features.push_back("-relax");
More information about the svn-src-projects
mailing list