about summary refs log tree commit diff
path: root/compiler/rustc_interface/src
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2023-01-05 13:55:24 -0800
committerFangrui Song <i@maskray.me>2023-08-23 11:12:30 -0700
commitf3d81917fc546420cb9deadc22cbab30133abd79 (patch)
tree798e3e337122b4811d0ee8b4059f6d4505b96b3f /compiler/rustc_interface/src
parent8e8231f64eb81094222483a7dca9ef507891eaed (diff)
downloadrust-f3d81917fc546420cb9deadc22cbab30133abd79.tar.gz
rust-f3d81917fc546420cb9deadc22cbab30133abd79.zip
Default relax_elf_relocations to true
This option tells LLVM to emit relaxable relocation types
R_X86_64_GOTPCRELX/R_X86_64_REX_GOTPCRELX/R_386_GOT32X in applicable cases. True
matches Clang's CMake default since 2020-08 [1] and latest LLVM default[2].

This also works around a GNU ld<2.41 issue[3] when using
general-dynamic/local-dynamic TLS models in `-Z plt=no` mode with latest LLVM.

[1]: https://github.com/llvm/llvm-project/commit/c41a18cf61790fc898dcda1055c3efbf442c14c0
[2]: https://github.com/llvm/llvm-project/commit/2aedfdd9b82e6c72a28576d0e8ea854f1300ff4e
[3]: https://sourceware.org/bugzilla/show_bug.cgi?id=24784
Diffstat (limited to 'compiler/rustc_interface/src')
-rw-r--r--compiler/rustc_interface/src/tests.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_interface/src/tests.rs b/compiler/rustc_interface/src/tests.rs
index e3d66d18388..db669ca7250 100644
--- a/compiler/rustc_interface/src/tests.rs
+++ b/compiler/rustc_interface/src/tests.rs
@@ -821,7 +821,7 @@ fn test_unstable_options_tracking_hash() {
     tracked!(profile_emit, Some(PathBuf::from("abc")));
     tracked!(profile_sample_use, Some(PathBuf::from("abc")));
     tracked!(profiler_runtime, "abc".to_string());
-    tracked!(relax_elf_relocations, Some(true));
+    tracked!(relax_elf_relocations, Some(false));
     tracked!(relro_level, Some(RelroLevel::Full));
     tracked!(remap_cwd_prefix, Some(PathBuf::from("abc")));
     tracked!(report_delayed_bugs, true);