summaryrefslogtreecommitdiffstats
path: root/debian/patches/build/d-bootstrap-rustflags.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/build/d-bootstrap-rustflags.patch')
-rw-r--r--debian/patches/build/d-bootstrap-rustflags.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/debian/patches/build/d-bootstrap-rustflags.patch b/debian/patches/build/d-bootstrap-rustflags.patch
new file mode 100644
index 000000000..ad9be6165
--- /dev/null
+++ b/debian/patches/build/d-bootstrap-rustflags.patch
@@ -0,0 +1,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.rs | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
+index 7245d11..82f8e91 100644
+--- a/src/bootstrap/src/core/builder.rs
++++ b/src/bootstrap/src/core/builder.rs
+@@ -1462,6 +1462,18 @@ impl<'a> Builder<'a> {
+ hostflags.arg("-Zunstable-options");
+ hostflags.arg("--check-cfg=cfg(bootstrap)");
+
++ // 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.