diff options
author | Shiz <hi@shiz.me> | 2017-04-14 00:30:25 +0000 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2017-04-14 17:59:37 +0200 |
commit | 2ebf583060c9dfe3cf1df21e97e8d8d6e017ac22 (patch) | |
tree | 3edebc1af1ee3cbf7eb04ec799e0292b04de77f1 /testing/rust/static-pie.patch | |
parent | a551ebb6babcbfe010095f14618a5ea4e67e9ec5 (diff) | |
download | aports-2ebf583060c9dfe3cf1df21e97e8d8d6e017ac22.tar.bz2 aports-2ebf583060c9dfe3cf1df21e97e8d8d6e017ac22.tar.xz |
testing/rust: fix dylib creation when crt-static is enabled
Diffstat (limited to 'testing/rust/static-pie.patch')
-rw-r--r-- | testing/rust/static-pie.patch | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/testing/rust/static-pie.patch b/testing/rust/static-pie.patch index 5ae091f691..8ac8a76653 100644 --- a/testing/rust/static-pie.patch +++ b/testing/rust/static-pie.patch @@ -215,3 +215,16 @@ library, just like static binaries, but more secure. } } +--- a/src/librustc_trans/back/link.rs ++++ b/src/librustc_trans/back/link.rs +@@ -239,8 +239,8 @@ + /// Checks if target supports crate_type as output + pub fn invalid_output_for_target(sess: &Session, + crate_type: config::CrateType) -> bool { +- match (sess.target.target.options.dynamic_linking, +- sess.target.target.options.executables, crate_type) { ++ let dynamic_linking = sess.target.target.options.dynamic_linking && !sess.crt_static(); ++ match (dynamic_linking, sess.target.target.options.executables, crate_type) { + (false, _, config::CrateTypeCdylib) | + (false, _, config::CrateTypeProcMacro) | + (false, _, config::CrateTypeDylib) => true, |