summaryrefslogtreecommitdiffstats
path: root/tests/run-make/lto-readonly-lib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/lto-readonly-lib')
-rw-r--r--tests/run-make/lto-readonly-lib/Makefile13
-rw-r--r--tests/run-make/lto-readonly-lib/lib.rs1
-rw-r--r--tests/run-make/lto-readonly-lib/main.rs3
3 files changed, 17 insertions, 0 deletions
diff --git a/tests/run-make/lto-readonly-lib/Makefile b/tests/run-make/lto-readonly-lib/Makefile
new file mode 100644
index 000000000..11d944e3e
--- /dev/null
+++ b/tests/run-make/lto-readonly-lib/Makefile
@@ -0,0 +1,13 @@
+# ignore-cross-compile
+include ../tools.mk
+
+all:
+ $(RUSTC) lib.rs
+
+ # the compiler needs to copy and modify the rlib file when performing
+ # LTO, so we should ensure that it can cope with the original rlib
+ # being read-only.
+ chmod 444 $(TMPDIR)/*.rlib
+
+ $(RUSTC) main.rs -C lto
+ $(call RUN,main)
diff --git a/tests/run-make/lto-readonly-lib/lib.rs b/tests/run-make/lto-readonly-lib/lib.rs
new file mode 100644
index 000000000..c1bfaa6ca
--- /dev/null
+++ b/tests/run-make/lto-readonly-lib/lib.rs
@@ -0,0 +1 @@
+#![crate_type = "rlib"]
diff --git a/tests/run-make/lto-readonly-lib/main.rs b/tests/run-make/lto-readonly-lib/main.rs
new file mode 100644
index 000000000..69da798b3
--- /dev/null
+++ b/tests/run-make/lto-readonly-lib/main.rs
@@ -0,0 +1,3 @@
+extern crate lib;
+
+fn main() {}