be51e6bd07
The `backtrace-rs` crate can use this to implement `Frame::symbol_address`, which is used to skip frames above the call to `Backtrace::capture` on the stack. The function pointer will not be useable for comparison purposes if the function is generic, as CTFE creates a new function pointer for each cast of a (monomorphized) generic function. However, this already affects code running under Miri, and isn't a problem for `backtrace-rs` (which only casts a non-generic function). I've added logic to allow `MiriFrame` to have either 4 or 5 fields - if a 5th field is present, we write the function pointer to it. |
||
---|---|---|
.. | ||
alloc | ||
backtrace | ||
concurrency | ||
dangling_pointers | ||
fs | ||
function_pointers | ||
intrinsics | ||
panic | ||
stacked_borrows | ||
sync | ||
unaligned_pointers | ||
validity | ||
abort-terminator.rs | ||
check_arg_count_too_few_args.rs | ||
check_arg_count_too_many_args.rs | ||
environ-gets-deallocated.rs | ||
erroneous_const.rs | ||
extern_static.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 | ||
overwriting_part_of_relocation_makes_the_rest_uninit.rs | ||
pointer_byte_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 | ||
storage_dead_dangling.rs | ||
transmute_fat1.rs | ||
transmute-pair-uninit.rs | ||
uninit_buffer.rs | ||
uninit_byte_read.rs | ||
unreachable.rs | ||
zst1.rs | ||
zst2.rs | ||
zst3.rs |