aboutsummaryrefslogtreecommitdiffstats
path: root/testing/rust/alpine-force-rpath-on-prefer-dynamic.patch
diff options
context:
space:
mode:
authorShiz <hi@shiz.me>2017-04-20 02:32:14 +0200
committerJakub Jirutka <jakub@jirutka.cz>2017-04-21 01:44:33 +0200
commit06ef4afb639890920801ec034cffaa31ab25b98c (patch)
tree063d460d510221d1814f18aeec1c6010f4248a03 /testing/rust/alpine-force-rpath-on-prefer-dynamic.patch
parent3b034a254fa89558cf04d8e54ee6d01f28bdf85b (diff)
downloadaports-06ef4afb639890920801ec034cffaa31ab25b98c.tar.bz2
aports-06ef4afb639890920801ec034cffaa31ab25b98c.tar.xz
testing/rust: properly force RPATH with a new target option
These patches add a new target option, `need_rpath`, to force RPATH embedding in appropriate situations. We also minimize the generated RPATH.
Diffstat (limited to 'testing/rust/alpine-force-rpath-on-prefer-dynamic.patch')
-rw-r--r--testing/rust/alpine-force-rpath-on-prefer-dynamic.patch36
1 files changed, 0 insertions, 36 deletions
diff --git a/testing/rust/alpine-force-rpath-on-prefer-dynamic.patch b/testing/rust/alpine-force-rpath-on-prefer-dynamic.patch
deleted file mode 100644
index 3c3aced9bd..0000000000
--- a/testing/rust/alpine-force-rpath-on-prefer-dynamic.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Shiz <hi@shiz.me>
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Wed, 12 Apr 2017 23:28:09 +0200
-Subject: [PATCH] Force rpath on prefer-dynamic
-
-When you build a dynamic binary with `-C prefer-dynamic`, rustc links
-dynamically even Rust libraries, built as shared objects. These are
-installed in /usr/lib/rustlib/<TARGET>/lib/, the location that is not
-on standard LD path, at least on Alpine.
-
-Therefore such binary would be unusable when not built with `-C rpath`
-(or manually specifying LD_LIBRARY_PATH). For that reason we implicitly
-enable rpath when `prefer-dynamic` is enabled.
-
-Also note that Rust normally installs identical copy of *.so files from
-/usr/lib/rustlib/<TARGET>/lib/, where <TARGET> equals host triple, to
-/usr/lib. That's why such fully dynamic binary may work on other
-systems even without rpath or having rustlib on the LD path. However,
-since these *.so libraries don't keep stable ABI, they should not be on
-LD path, and thus we do not install them here (see
-change-rpath-to-rustlib.patch).
-
---- a/src/librustc/session/config.rs
-+++ b/src/librustc/session/config.rs
-@@ -1368,6 +1368,11 @@
-
- let mut cg = build_codegen_options(matches, error_format);
-
-+ // Force rpath addition on prefer-dynamic output.
-+ if cg.prefer_dynamic {
-+ cg.rpath = true;
-+ }
-+
- // Issue #30063: if user requests llvm-related output to one
- // particular path, disable codegen-units.
- if matches.opt_present("o") && cg.codegen_units != 1 {