1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
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.
|