We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents c58a9da + 6e41885 commit 751d6edCopy full SHA for 751d6ed
src/libstd/sys/common/unwind/gcc.rs
@@ -224,8 +224,13 @@ pub mod eabi {
224
context: *mut uw::_Unwind_Context
225
) -> uw::_Unwind_Reason_Code
226
{
227
+ // Backtraces on ARM will call the personality routine with
228
+ // state == _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND. In those cases
229
+ // we want to continue unwinding the stack, otherwise all our backtraces
230
+ // would end at __rust_try.
231
if (state as c_int & uw::_US_ACTION_MASK as c_int)
- == uw::_US_VIRTUAL_UNWIND_FRAME as c_int { // search phase
232
+ == uw::_US_VIRTUAL_UNWIND_FRAME as c_int
233
+ && (state as c_int & uw::_US_FORCE_UNWIND as c_int) == 0 { // search phase
234
uw::_URC_HANDLER_FOUND // catch!
235
}
236
else { // cleanup phase
0 commit comments