Auto merge of #88098 - Amanieu:oom_panic, r=nagisa
Implement -Z oom=panic This PR removes the `#[rustc_allocator_nounwind]` attribute on `alloc_error_handler` which allows it to unwind with a panic instead of always aborting. This is then used to implement `-Z oom=panic` as per RFC 2116 (tracking issue #43596). Perf and binary size tests show negligible impact.
This commit is contained in:
commit
d6f3a4ecb4
9 changed files with 114 additions and 10 deletions
|
@ -9,8 +9,8 @@ use rustc_session::config::{
|
|||
rustc_optgroups, ErrorOutputType, ExternLocation, LocationDetail, Options, Passes,
|
||||
};
|
||||
use rustc_session::config::{
|
||||
BranchProtection, Externs, OutputType, OutputTypes, PAuthKey, PacRet, SymbolManglingVersion,
|
||||
WasiExecModel,
|
||||
BranchProtection, Externs, OomStrategy, OutputType, OutputTypes, PAuthKey, PacRet,
|
||||
SymbolManglingVersion, WasiExecModel,
|
||||
};
|
||||
use rustc_session::config::{CFGuard, ExternEntry, LinkerPluginLto, LtoCli, SwitchWithOptPath};
|
||||
use rustc_session::lint::Level;
|
||||
|
@ -758,6 +758,7 @@ fn test_debugging_options_tracking_hash() {
|
|||
tracked!(no_link, true);
|
||||
tracked!(no_unique_section_names, true);
|
||||
tracked!(no_profiler_runtime, true);
|
||||
tracked!(oom, OomStrategy::Panic);
|
||||
tracked!(osx_rpath_install_name, true);
|
||||
tracked!(panic_abort_tests, true);
|
||||
tracked!(panic_in_drop, PanicStrategy::Abort);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue