57786678d4
Make backtraces work with #[global_allocator] Currently, backtraces break when the global allocator is overridden because the allocator will attempt to deallocate memory allocated directly by Miri. ~~This PR fixes that by using a new memory kind and providing a function to deallocate it. We can't call the custom allocator to allocate because it's not possible to call a function in the middle of a shim.~~ This PR fixes that by adding a new version of the backtrace API accessible by setting `flags` to 1. Existing code still functions. backtrace-rs PR: rust-lang/backtrace-rs#462 Fixes https://github.com/rust-lang/miri/issues/1996 |
||
---|---|---|
.. | ||
alloc | ||
backtrace | ||
concurrency | ||
dangling_pointers | ||
data_race | ||
fs | ||
function_calls | ||
function_pointers | ||
intrinsics | ||
panic | ||
stacked_borrows | ||
sync | ||
unaligned_pointers | ||
validity | ||
abort-terminator.rs | ||
box-cell-alias.rs | ||
branchless-select-i128-pointer.rs | ||
breakpoint.rs | ||
environ-gets-deallocated.rs | ||
erroneous_const.rs | ||
extern_static.rs | ||
fast_math_both.rs | ||
fast_math_first.rs | ||
fast_math_second.rs | ||
generator-pinned-moved.rs | ||
invalid_bool.rs | ||
invalid_char.rs | ||
invalid_enum_tag.rs | ||
invalid_int.rs | ||
issue-miri-1112.rs | ||
memleak_rc.rs | ||
memleak.rs | ||
modifying_constants.rs | ||
never_say_never.rs | ||
never_transmute_humans.rs | ||
never_transmute_void.rs | ||
no_main.rs | ||
null_pointer_deref_zst.rs | ||
null_pointer_deref.rs | ||
null_pointer_write_zst.rs | ||
null_pointer_write.rs | ||
pointer_partial_overwrite.rs | ||
pointer_partial_read.rs | ||
rc_as_ptr.rs | ||
reading_half_a_pointer.rs | ||
rustc-error.rs | ||
shim_arg_size.rs | ||
slice-too-big.rs | ||
static_memory_modification1.rs | ||
static_memory_modification2.rs | ||
static_memory_modification3.rs | ||
transmute_fat1.rs | ||
transmute-pair-uninit.rs | ||
uninit_buffer.rs | ||
uninit_byte_read.rs | ||
uninit_float.rs | ||
uninit_integer_signed.rs | ||
uninit_integer.rs | ||
uninit_raw_ptr.rs | ||
unreachable.rs | ||
unsupported_foreign_function.rs | ||
unsupported_signal.rs | ||
zst1.rs | ||
zst2.rs | ||
zst3.rs |