Rust unwind information #18
Labels
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/artiq-zynq#18
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Implementation for exception requires stack unwinding, which needs unwind information for the raise function implemented in rust.
Currently, even with
"panic-strategy": "unwind"
, the unwind information is still not generated, and when the unwinder tries to unwind from the raise function in Rust, it would return an error as it hits theEXIDX_CANTUNWIND
.Related log with comments:
Notes: I've added the
unwind(allowed)
attribute to theraise
function: https://git.m-labs.hk/pca006132/artiq-zynq/src/branch/eh/src/runtime/src/eh_artiq.rs#L176However, there is still no unwind information for it:
More places that you may have considered already:
armv7-none-eabihf.json
field"panic_strategy"
Cargo.toml
section[profile.release]
key"panic"
Note that artiq-zynq has its own copy of this JSON file.
Setting
"requires-uwtable": true
and"force-unwind-tables": "yes"
solves the issue.