about summary refs log tree commit diff
path: root/compiler/rustc_const_eval/src/const_eval/machine.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-06-05 22:52:17 +0000
committerbors <bors@rust-lang.org>2025-06-05 22:52:17 +0000
commitcf423712b9e95e9f6ec84b1ecb3d125e55ac8d56 (patch)
tree3af05fd209353409b33805f50d818c6ba62614d1 /compiler/rustc_const_eval/src/const_eval/machine.rs
parentccf3198de316b488ee17441935182e9d5292b4d3 (diff)
parentf8e9778eb12573eabac183f5d617e1a7404505c7 (diff)
downloadrust-cf423712b9e95e9f6ec84b1ecb3d125e55ac8d56.tar.gz
rust-cf423712b9e95e9f6ec84b1ecb3d125e55ac8d56.zip
Auto merge of #140872 - bjorn3:elf_use_used_linker, r=nikic
Make #[used(linker)] the default on ELF too

`#[used]` currently is an alias for `#[used(linker)]` on all platforms except ELF based ones where it is an alias for `#[used(compiler)]`. The latter has surprising behavior and the LLVM LangRef explicitly states that it "should only be used in rare circumstances, and should not be exposed to source languages." [^2]

The reason `#[used]` still was an alias to `#[used(compiler)]` on ELF is because the gold linker has issues with it. Luckily gold has been deprecated with GCC 15 [^1] and seems to be unable to bootstrap rustc anyway [^3]. As such we shouldn't really care about supporting gold.

This would also allow re-enabling start-stop-gc with lld.

cc https://github.com/rust-lang/rust/issues/93798
Likely fixes https://github.com/rust-lang/rust/issues/85045

[^1]: https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html
[^2]: https://llvm.org/docs/LangRef.html#the-llvm-compiler-used-global-variable
[^3]: https://github.com/rust-lang/rust/issues/139425
Diffstat (limited to 'compiler/rustc_const_eval/src/const_eval/machine.rs')
0 files changed, 0 insertions, 0 deletions