rustc/debian/patches/build/d-bootstrap-rustflags.patch
2025-02-17 09:58:17 +01:00

35 lines
1.4 KiB
Diff

From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:38 +0200
Subject: d-bootstrap-rustflags
Forwarded: not-needed
===================================================================
---
src/bootstrap/src/core/builder/cargo.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs
index a73e6cf..55e4cc4 100644
--- a/src/bootstrap/src/core/builder/cargo.rs
+++ b/src/bootstrap/src/core/builder/cargo.rs
@@ -627,6 +627,18 @@ impl Builder<'_> {
// #[cfg(bootstrap)] as we are transition `test` to userspace cfg
hostflags.arg("--check-cfg=cfg(test)");
+ // Debian-specific stuff here
+ // set linker flags from LDFLAGS
+ if let Ok(ldflags) = env::var("LDFLAGS") {
+ for flag in ldflags.split_whitespace() {
+ if target.contains("windows") && flag.contains("relro") {
+ // relro is ELF-specific
+ continue;
+ }
+ rustflags.arg(&format!("-Clink-args={}", flag));
+ }
+ }
+
// FIXME: It might be better to use the same value for both `RUSTFLAGS` and `RUSTDOCFLAGS`,
// but this breaks CI. At the very least, stage0 `rustdoc` needs `--cfg bootstrap`. See
// #71458.