about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/tools/run-make-support/src/command.rs2
-rw-r--r--src/tools/tidy/src/allowed_run_make_makefiles.txt3
-rw-r--r--tests/run-make/crate-circular-deps-link/a.rs (renamed from tests/run-make/issue-69368/a.rs)0
-rw-r--r--tests/run-make/crate-circular-deps-link/b.rs (renamed from tests/run-make/issue-69368/b.rs)0
-rw-r--r--tests/run-make/crate-circular-deps-link/c.rs (renamed from tests/run-make/issue-69368/c.rs)0
-rw-r--r--tests/run-make/crate-circular-deps-link/rmake.rs20
-rw-r--r--tests/run-make/issue-35164/Makefile4
-rw-r--r--tests/run-make/issue-47551/Makefile10
-rw-r--r--tests/run-make/issue-69368/Makefile19
-rw-r--r--tests/run-make/json-error-no-offset/main.rs (renamed from tests/run-make/issue-35164/main.rs)0
-rw-r--r--tests/run-make/json-error-no-offset/rmake.rs15
-rw-r--r--tests/run-make/json-error-no-offset/submodule/mod.rs (renamed from tests/run-make/issue-35164/submodule/mod.rs)0
-rw-r--r--tests/run-make/link-eh-frame-terminator/eh_frame-terminator.rs (renamed from tests/run-make/issue-47551/eh_frame-terminator.rs)0
-rw-r--r--tests/run-make/link-eh-frame-terminator/rmake.rs23
14 files changed, 59 insertions, 37 deletions
diff --git a/src/tools/run-make-support/src/command.rs b/src/tools/run-make-support/src/command.rs
index cb71a52b2cd..a0b96e25a0c 100644
--- a/src/tools/run-make-support/src/command.rs
+++ b/src/tools/run-make-support/src/command.rs
@@ -247,7 +247,7 @@ impl CompletedProcess {
     /// Checks that `stderr` does not contain `unexpected`.
     #[track_caller]
     pub fn assert_stderr_not_contains<S: AsRef<str>>(&self, unexpected: S) -> &Self {
-        assert_not_contains(&self.stdout_utf8(), unexpected);
+        assert_not_contains(&self.stderr_utf8(), unexpected);
         self
     }
 
diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt
index 8747a6265c6..b2b02d3788c 100644
--- a/src/tools/tidy/src/allowed_run_make_makefiles.txt
+++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt
@@ -14,10 +14,7 @@ run-make/fmt-write-bloat/Makefile
 run-make/foreign-double-unwind/Makefile
 run-make/foreign-exceptions/Makefile
 run-make/incr-add-rust-src-component/Makefile
-run-make/issue-35164/Makefile
 run-make/issue-36710/Makefile
-run-make/issue-47551/Makefile
-run-make/issue-69368/Makefile
 run-make/issue-84395-lto-embed-bitcode/Makefile
 run-make/issue-88756-default-output/Makefile
 run-make/jobserver-error/Makefile
diff --git a/tests/run-make/issue-69368/a.rs b/tests/run-make/crate-circular-deps-link/a.rs
index a54f429550e..a54f429550e 100644
--- a/tests/run-make/issue-69368/a.rs
+++ b/tests/run-make/crate-circular-deps-link/a.rs
diff --git a/tests/run-make/issue-69368/b.rs b/tests/run-make/crate-circular-deps-link/b.rs
index 4d6af026656..4d6af026656 100644
--- a/tests/run-make/issue-69368/b.rs
+++ b/tests/run-make/crate-circular-deps-link/b.rs
diff --git a/tests/run-make/issue-69368/c.rs b/tests/run-make/crate-circular-deps-link/c.rs
index 9d72657aa59..9d72657aa59 100644
--- a/tests/run-make/issue-69368/c.rs
+++ b/tests/run-make/crate-circular-deps-link/c.rs
diff --git a/tests/run-make/crate-circular-deps-link/rmake.rs b/tests/run-make/crate-circular-deps-link/rmake.rs
new file mode 100644
index 00000000000..7cc28ac93e1
--- /dev/null
+++ b/tests/run-make/crate-circular-deps-link/rmake.rs
@@ -0,0 +1,20 @@
+// Test that previously triggered a linker failure with root cause
+// similar to one found in the issue #69368.
+//
+// The crate that provides oom lang item is missing some other lang
+// items. Necessary to prevent the use of start-group / end-group.
+//
+// The weak lang items are defined in a separate compilation units,
+// so that linker could omit them if not used.
+//
+// The crates that need those weak lang items are dependencies of
+// crates that provide them.
+// See https://github.com/rust-lang/rust/issues/69371
+
+use run_make_support::rustc;
+
+fn main() {
+    rustc().input("a.rs").run();
+    rustc().input("b.rs").run();
+    rustc().input("c.rs").run();
+}
diff --git a/tests/run-make/issue-35164/Makefile b/tests/run-make/issue-35164/Makefile
deleted file mode 100644
index 38aa6f1265f..00000000000
--- a/tests/run-make/issue-35164/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-include ../tools.mk
-
-all:
-	$(RUSTC) main.rs --error-format json 2>&1 | $(CGREP) -e '"byte_start":23\b' '"byte_end":29\b'
diff --git a/tests/run-make/issue-47551/Makefile b/tests/run-make/issue-47551/Makefile
deleted file mode 100644
index 3fe0a6e74e0..00000000000
--- a/tests/run-make/issue-47551/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# only-linux
-# ignore-32bit
-
-include ../tools.mk
-
-all:
-	# --target $(TARGET) ensures the right gcc flags are used for cross compilation
-	$(RUSTC) --target $(TARGET) eh_frame-terminator.rs
-	$(call RUN,eh_frame-terminator) | $(CGREP) '1122334455667788'
-	objdump --dwarf=frames $(TMPDIR)/eh_frame-terminator | $(CGREP) 'ZERO terminator'
diff --git a/tests/run-make/issue-69368/Makefile b/tests/run-make/issue-69368/Makefile
deleted file mode 100644
index b1229d1b07f..00000000000
--- a/tests/run-make/issue-69368/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# ignore-cross-compile
-include ../tools.mk
-
-# Test that previously triggered a linker failure with root cause
-# similar to one found in the issue #69368.
-#
-# The crate that provides oom lang item is missing some other lang
-# items. Necessary to prevent the use of start-group / end-group.
-#
-# The weak lang items are defined in a separate compilation units,
-# so that linker could omit them if not used.
-#
-# The crates that need those weak lang items are dependencies of
-# crates that provide them.
-
-all:
-	$(RUSTC) a.rs
-	$(RUSTC) b.rs
-	$(RUSTC) c.rs
diff --git a/tests/run-make/issue-35164/main.rs b/tests/run-make/json-error-no-offset/main.rs
index 1333d63224c..1333d63224c 100644
--- a/tests/run-make/issue-35164/main.rs
+++ b/tests/run-make/json-error-no-offset/main.rs
diff --git a/tests/run-make/json-error-no-offset/rmake.rs b/tests/run-make/json-error-no-offset/rmake.rs
new file mode 100644
index 00000000000..629d9c4c16e
--- /dev/null
+++ b/tests/run-make/json-error-no-offset/rmake.rs
@@ -0,0 +1,15 @@
+// The byte positions in json format error logging used to have a small, difficult
+// to predict offset. This was changed to be the top of the file every time in #42973,
+// and this test checks that the measurements appearing in the standard error are correct.
+// See https://github.com/rust-lang/rust/issues/35164
+
+use run_make_support::rustc;
+
+fn main() {
+    rustc()
+        .input("main.rs")
+        .error_format("json")
+        .run()
+        .assert_stderr_contains(r#""byte_start":23"#)
+        .assert_stderr_contains(r#""byte_end":29"#);
+}
diff --git a/tests/run-make/issue-35164/submodule/mod.rs b/tests/run-make/json-error-no-offset/submodule/mod.rs
index a9045b242fb..a9045b242fb 100644
--- a/tests/run-make/issue-35164/submodule/mod.rs
+++ b/tests/run-make/json-error-no-offset/submodule/mod.rs
diff --git a/tests/run-make/issue-47551/eh_frame-terminator.rs b/tests/run-make/link-eh-frame-terminator/eh_frame-terminator.rs
index 0c90d8c791c..0c90d8c791c 100644
--- a/tests/run-make/issue-47551/eh_frame-terminator.rs
+++ b/tests/run-make/link-eh-frame-terminator/eh_frame-terminator.rs
diff --git a/tests/run-make/link-eh-frame-terminator/rmake.rs b/tests/run-make/link-eh-frame-terminator/rmake.rs
new file mode 100644
index 00000000000..6bfae386ea1
--- /dev/null
+++ b/tests/run-make/link-eh-frame-terminator/rmake.rs
@@ -0,0 +1,23 @@
+// The gcc driver is supposed to add a terminator to link files, and the rustc
+// driver previously failed to do this, resulting in a segmentation fault
+// with an older version of LLVM. This test checks that the terminator is present
+// after the fix in #85395.
+// See https://github.com/rust-lang/rust/issues/47551
+
+//@ only-linux
+// Reason: the ZERO terminator is unique to the Linux architecture.
+//@ ignore-32bit
+// Reason: the usage of a large array in the test causes an out-of-memory
+// error on 32 bit systems.
+
+use run_make_support::{bin_name, llvm_objdump, run, rustc};
+
+fn main() {
+    rustc().input("eh_frame-terminator.rs").run();
+    run("eh_frame-terminator").assert_stdout_contains("1122334455667788");
+    llvm_objdump()
+        .arg("--dwarf=frames")
+        .input(bin_name("eh_frame-terminator"))
+        .run()
+        .assert_stdout_contains("ZERO terminator");
+}