Skip to content

Commit

Permalink
rewrite link-path-order to rmake
Browse files Browse the repository at this point in the history
  • Loading branch information
Oneirical committed Jul 18, 2024
1 parent 741cf91 commit 232c5b6
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 20 deletions.
1 change: 0 additions & 1 deletion src/tools/tidy/src/allowed_run_make_makefiles.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ run-make/libtest-junit/Makefile
run-make/libtest-thread-limit/Makefile
run-make/link-cfg/Makefile
run-make/link-framework/Makefile
run-make/link-path-order/Makefile
run-make/linkage-attr-on-static/Makefile
run-make/long-linker-command-lines-cmd-exe/Makefile
run-make/long-linker-command-lines/Makefile
Expand Down
19 changes: 0 additions & 19 deletions tests/run-make/link-path-order/Makefile

This file was deleted.

33 changes: 33 additions & 0 deletions tests/run-make/link-path-order/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// The order in which "library search path" `-L` arguments are given to the command line rustc
// is important. These arguments must match the order of the linker's arguments. In this test,
// fetching the Wrong library before the Correct one causes a function to return 0 instead of the
// expected 1, causing a runtime panic, as expected.
// See https://github.com/rust-lang/rust/pull/16904

//@ ignore-cross-compile
// Reason: the compiled binary is executed

use run_make_support::{build_native_static_lib, rfs, run, run_fail, rustc, static_lib_name};

fn main() {
build_native_static_lib("correct");
build_native_static_lib("wrong");
rfs::create_dir("correct");
rfs::create_dir("wrong");
rfs::rename(static_lib_name("correct"), format!("correct/{}", static_lib_name("foo")));
rfs::rename(static_lib_name("wrong"), format!("wrong/{}", static_lib_name("foo")));
rustc()
.input("main.rs")
.output("should_succeed")
.library_search_path("correct")
.library_search_path("wrong")
.run();
run("should_succeed");
rustc()
.input("main.rs")
.output("should_fail")
.library_search_path("wrong")
.library_search_path("correct")
.run();
run_fail("should_fail");
}

0 comments on commit 232c5b6

Please sign in to comment.