-
-
Notifications
You must be signed in to change notification settings - Fork 326
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
Stack unwinding can now unwind beyond (optionally nested) exception handlers for selected architectures. #1665
Conversation
Note for reviewer: I don't understand why |
Well, |
probe-rs/src/architecture/arm/core/exception_handling/armv6m.rs
Outdated
Show resolved
Hide resolved
@Yatekii But it is a |
probe-rs/src/architecture/arm/core/exception_handling/armv7m.rs
Outdated
Show resolved
Hide resolved
probe-rs/src/architecture/arm/core/exception_handling/armv7m.rs
Outdated
Show resolved
Hide resolved
probe-rs/src/architecture/arm/core/exception_handling/cortexm_6_and_7.rs
Outdated
Show resolved
Hide resolved
core: &mut T, | ||
stackframe_registers: &crate::debug::DebugRegisters, | ||
) -> Result<crate::debug::DebugRegisters, crate::Error> { | ||
let mut calling_stack_registers = vec![0u32; EXCEPTION_STACK_REGISTERS.len()]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code makes little sense to me. I am not sure if it is bogus or if it should be restructured. Some function description would be nice :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've described the logic and why this is needed in the function docs :)
probe-rs/src/architecture/arm/core/exception_handling/cortexm_6_and_7.rs
Outdated
Show resolved
Hide resolved
probe-rs/src/architecture/arm/core/exception_handling/cortexm_6_and_7.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice, thank you!
I added - as is customary :D - a lot of comments :)
That does not mean it's parent module is too =) |
probe-rs/src/architecture/arm/core/exception_handling/armv7m.rs
Outdated
Show resolved
Hide resolved
@Yatekii Oooh ... good catch. That gives me 3 possible solutions:
Do you have preference? |
For sure 1. should be the chosen solution. But you do not necessarily have to make the entire module public. It suffices if you publicly re-export the private item :) |
This is a replacement for the proof of concept #1495.
Stack unwinding can now unwind beyond (optionally nested) exception handlers (# ).
See the white arrows below for new information available: