You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 <[email protected]>
Co-authored-by: Michael Woerister <michaelwoerister@posteo>
Co-authored-by: bors <[email protected]>
Co-authored-by: Amanieu d'Antras <[email protected]>
Co-authored-by: Ramon de C Valle <[email protected]>
Co-authored-by: Yuki Okushi <[email protected]>
Co-authored-by: Andreas Jonson <[email protected]>
Co-authored-by: rdambrosio <[email protected]>
Co-authored-by: Petr Sumbera <[email protected]>
Co-authored-by: cynecx <[email protected]>
Co-authored-by: Andrew Dona-Couch <[email protected]>
Co-authored-by: Nikita Popov <[email protected]>
Co-authored-by: est31 <[email protected]>
Co-authored-by: Matthias Krüger <[email protected]>
Co-authored-by: Tomasz Miąsko <[email protected]>
Co-authored-by: Nicholas Nethercote <[email protected]>
0 commit comments