Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix trap tracking #3058

Merged
merged 5 commits into from
Aug 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion lib/compiler/src/engine/trap/frame_info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@ pub fn register(
) in finished_functions.iter()
{
let start = **start as usize;
let end = start + len;
// end is "last byte" of the function code
let end = start + len - 1;
ptitSeb marked this conversation as resolved.
Show resolved Hide resolved
min = cmp::min(min, start);
max = cmp::max(max, end);
let func = FunctionInfo {
Expand Down
10 changes: 5 additions & 5 deletions tests/ignores.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@ singlepass spec::simd # Singlepass doesn't support yet SIMD (no one asked for th
## Unwinding is not properly implemented in Singlepass
# Needs investigation
singlepass+aarch64+macos traps::test_trap_trace
cranelift+aarch64 traps::test_trap_trace
cranelift+aarch64+macos traps::test_trap_trace
llvm+aarch64 traps::test_trap_trace
singlepass+aarch64+macos traps::test_trap_stack_overflow # Need to investigate
cranelift+aarch64 traps::test_trap_stack_overflow # Need to investigate
singlepass+aarch64+macos traps::trap_display_pretty
llvm traps::trap_display_pretty
cranelift+aarch64 traps::trap_display_pretty
cranelift+aarch64+macos traps::trap_display_pretty
singlepass+aarch64+macos traps::trap_display_multi_module
llvm traps::trap_display_multi_module
cranelift+aarch64 traps::trap_display_multi_module
cranelift+aarch64+macos traps::trap_display_multi_module
windows+singlepass traps::trap_display_multi_module
singlepass traps::call_signature_mismatch # Need to investigate, get foo (a[0]:0x33) instead of 0x30 for inderect call
llvm traps::call_signature_mismatch
macos+aarch64 traps::call_signature_mismatch
singlepass+aarch64+macos traps::start_trap_pretty
llvm traps::start_trap_pretty
cranelift+aarch64 traps::start_trap_pretty
cranelift+aarch64+macos traps::start_trap_pretty

# Also neither LLVM nor Cranelift currently implement stack probing on AArch64.
# https://github.com/wasmerio/wasmer/issues/2808
Expand Down