rewrite and rename issue-69368 to rmake
This commit is contained in:
parent
61a6afe60c
commit
01a266206b
@ -117,6 +117,7 @@
|
|||||||
"ignore-watchos",
|
"ignore-watchos",
|
||||||
"ignore-windows",
|
"ignore-windows",
|
||||||
"ignore-windows-gnu",
|
"ignore-windows-gnu",
|
||||||
|
"ignore-windows-msvc",
|
||||||
"ignore-x32",
|
"ignore-x32",
|
||||||
"ignore-x86",
|
"ignore-x86",
|
||||||
"ignore-x86_64",
|
"ignore-x86_64",
|
||||||
|
@ -18,7 +18,6 @@ run-make/foreign-exceptions/Makefile
|
|||||||
run-make/foreign-rust-exceptions/Makefile
|
run-make/foreign-rust-exceptions/Makefile
|
||||||
run-make/incr-add-rust-src-component/Makefile
|
run-make/incr-add-rust-src-component/Makefile
|
||||||
run-make/issue-36710/Makefile
|
run-make/issue-36710/Makefile
|
||||||
run-make/issue-69368/Makefile
|
|
||||||
run-make/issue-84395-lto-embed-bitcode/Makefile
|
run-make/issue-84395-lto-embed-bitcode/Makefile
|
||||||
run-make/issue-88756-default-output/Makefile
|
run-make/issue-88756-default-output/Makefile
|
||||||
run-make/jobserver-error/Makefile
|
run-make/jobserver-error/Makefile
|
||||||
|
20
tests/run-make/crate-circular-deps-link/rmake.rs
Normal file
20
tests/run-make/crate-circular-deps-link/rmake.rs
Normal file
@ -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();
|
||||||
|
}
|
@ -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
|
|
@ -4,17 +4,20 @@
|
|||||||
// after the fix in #85395.
|
// after the fix in #85395.
|
||||||
// See https://github.com/rust-lang/rust/issues/47551
|
// See https://github.com/rust-lang/rust/issues/47551
|
||||||
|
|
||||||
//FIXME(Oneirical): See if it works on anything other than only linux and 64 bit
|
//@ only-linux
|
||||||
// maybe riscv64gc-unknown-linux-gnu
|
// 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::{llvm_objdump, run, rustc};
|
use run_make_support::{bin_name, llvm_objdump, run, rustc};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
rustc().input("eh_frame-terminator.rs").run();
|
rustc().input("eh_frame-terminator.rs").run();
|
||||||
run("eh_frame-terminator").assert_stdout_contains("1122334455667788");
|
run("eh_frame-terminator").assert_stdout_contains("1122334455667788");
|
||||||
llvm_objdump()
|
llvm_objdump()
|
||||||
.arg("--dwarf=frames")
|
.arg("--dwarf=frames")
|
||||||
.input("eh_frame-terminator")
|
.input(bin_name("eh_frame-terminator"))
|
||||||
.run()
|
.run()
|
||||||
.assert_stdout_contains("ZERO terminator");
|
.assert_stdout_contains("ZERO terminator");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user