From 09b81a72ac67c035f74ff369e6862d75cc4c4090 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Tue, 7 Jul 2020 09:47:08 -0700 Subject: [PATCH] [ELF] Ignore --no-relax for RISC-V In GNU ld, --no-relax can disable x86-64 GOTPCRELX relaxation. It is not useful, so we don't implement it. For RISC-V, --no-relax disables linker relaxations which have larger impact. Linux kernel specifies --no-relax when CONFIG_DYNAMIC_FTRACE is specified (since http://git.kernel.org/linus/a1d2a6b4cee858a2f27eebce731fbf1dfd72cb4e ). LLD has not implemented the relaxations, so this option is a no-op. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D81359 --- lld/ELF/Options.td | 1 + lld/docs/ld.lld.1 | 2 ++ lld/test/ELF/silent-ignore.test | 1 + 3 files changed, 4 insertions(+) diff --git a/lld/ELF/Options.td b/lld/ELF/Options.td index 0a16faa2b8fe..bc12f4d45546 100644 --- a/lld/ELF/Options.td +++ b/lld/ELF/Options.td @@ -635,6 +635,7 @@ def: F<"no-copy-dt-needed-entries">; def: F<"no-ctors-in-init-array">; def: F<"no-keep-memory">; def: F<"no-pipeline-knowledge">; +def: F<"no-relax">; def: F<"no-warn-mismatch">; def: Flag<["-"], "p">; def: Separate<["--", "-"], "rpath-link">; diff --git a/lld/docs/ld.lld.1 b/lld/docs/ld.lld.1 index 0522feb145f1..3acc818afa22 100644 --- a/lld/docs/ld.lld.1 +++ b/lld/docs/ld.lld.1 @@ -308,6 +308,8 @@ Disable merging .ARM.exidx entries. Page align sections. .It Fl -no-omagic Do not set the text data sections to be writable, page align sections. +.It Fl -no-relax +Disable target-specific relaxations. This is currently a no-op. .It Fl -no-rosegment Do not put read-only non-executable sections in their own segment. .It Fl -no-undefined-version diff --git a/lld/test/ELF/silent-ignore.test b/lld/test/ELF/silent-ignore.test index 600c9f86b18a..6f76809d0e11 100644 --- a/lld/test/ELF/silent-ignore.test +++ b/lld/test/ELF/silent-ignore.test @@ -7,6 +7,7 @@ RUN: -no-copy-dt-needed-entries \ RUN: -no-ctors-in-init-array \ RUN: -no-keep-memory \ RUN: -no-pipeline-knowledge \ +RUN: --no-relax \ RUN: -no-warn-mismatch \ RUN: -p \ RUN: -rpath-link . \