diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs index 36a6d2cc33a99..943ce589c4f36 100644 --- a/compiler/rustc_llvm/build.rs +++ b/compiler/rustc_llvm/build.rs @@ -288,7 +288,7 @@ fn main() { let path = PathBuf::from(s); println!("cargo:rustc-link-search=native={}", path.parent().unwrap().display()); if target.contains("windows") { - println!("cargo:rustc-link-lib=static-nobundle={}", stdcppname); + println!("cargo:rustc-link-lib=static:-bundle={}", stdcppname); } else { println!("cargo:rustc-link-lib=static={}", stdcppname); } @@ -302,6 +302,6 @@ fn main() { // Libstdc++ depends on pthread which Rust doesn't link on MinGW // since nothing else requires it. if target.contains("windows-gnu") { - println!("cargo:rustc-link-lib=static-nobundle=pthread"); + println!("cargo:rustc-link-lib=static:-bundle=pthread"); } } diff --git a/compiler/rustc_llvm/src/lib.rs b/compiler/rustc_llvm/src/lib.rs index 6493bd91ca27a..8476c2bfcc431 100644 --- a/compiler/rustc_llvm/src/lib.rs +++ b/compiler/rustc_llvm/src/lib.rs @@ -1,5 +1,5 @@ #![feature(nll)] -#![feature(static_nobundle)] +#![feature(native_link_modifiers)] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] // NOTE: This crate only exists to allow linking on mingw targets. diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs index e263780bf3879..079626f0fea54 100644 --- a/library/unwind/src/lib.rs +++ b/library/unwind/src/lib.rs @@ -5,7 +5,6 @@ #![feature(native_link_modifiers_bundle)] #![feature(nll)] #![feature(staged_api)] -#![feature(static_nobundle)] #![feature(c_unwind)] #![cfg_attr(not(target_env = "msvc"), feature(libc))] diff --git a/src/test/run-make-fulldeps/foreign-exceptions/foo.rs b/src/test/run-make-fulldeps/foreign-exceptions/foo.rs index c279cf7e8bf10..dd3b7c76f2867 100644 --- a/src/test/run-make-fulldeps/foreign-exceptions/foo.rs +++ b/src/test/run-make-fulldeps/foreign-exceptions/foo.rs @@ -2,8 +2,6 @@ // are caught by catch_unwind. Also tests that Rust panics can unwind through // C++ code. -// For linking libstdc++ on MinGW -#![cfg_attr(all(windows, target_env = "gnu"), feature(static_nobundle))] #![feature(c_unwind)] use std::panic::{catch_unwind, AssertUnwindSafe}; diff --git a/src/test/run-make-fulldeps/tools.mk b/src/test/run-make-fulldeps/tools.mk index 3934c4725f413..9655d09df0f2a 100644 --- a/src/test/run-make-fulldeps/tools.mk +++ b/src/test/run-make-fulldeps/tools.mk @@ -117,10 +117,10 @@ else # that it is compiled with the expectation that pthreads is dynamically # linked as a DLL and will fail to link with a statically linked libpthread. # - # So we end up with the following hack: we link use static-nobundle to only + # So we end up with the following hack: we link use static:-bundle to only # link the parts of libstdc++ that we actually use, which doesn't include # the dependency on the pthreads DLL. - EXTRARSCXXFLAGS := -l static-nobundle=stdc++ + EXTRARSCXXFLAGS := -l static:-bundle=stdc++ -Z unstable-options endif else ifeq ($(UNAME),Darwin) diff --git a/src/test/run-make/issue-36710/foo.rs b/src/test/run-make/issue-36710/foo.rs index 845844f427bdf..f30a35e27c0bc 100644 --- a/src/test/run-make/issue-36710/foo.rs +++ b/src/test/run-make/issue-36710/foo.rs @@ -1,8 +1,5 @@ // Tests that linking to C++ code with global destructors works. -// For linking libstdc++ on MinGW -#![cfg_attr(all(windows, target_env = "gnu"), feature(static_nobundle))] - extern "C" { fn get() -> u32; }