Skip to content

Commit

Permalink
Fix unwinding when debug assertions are enabled
Browse files Browse the repository at this point in the history
This came up on armv7-apple-ios when using -Zbuild-std
  • Loading branch information
madsmtm committed Jul 30, 2022
1 parent 211637d commit 15b7a08
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion library/panic_unwind/src/gcc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,9 @@ unsafe fn find_eh_action(context: *mut uw::_Unwind_Context) -> Result<EHAction,
let eh_context = EHContext {
// The return address points 1 byte past the call instruction,
// which could be in the next IP range in LSDA range table.
ip: if ip_before_instr != 0 { ip } else { ip - 1 },
//
// `ip = -1` has special meaning, so use wrapping sub to allow for that
ip: if ip_before_instr != 0 { ip } else { ip.wrapping_sub(1) },
func_start: uw::_Unwind_GetRegionStart(context),
get_text_start: &|| uw::_Unwind_GetTextRelBase(context),
get_data_start: &|| uw::_Unwind_GetDataRelBase(context),
Expand Down

0 comments on commit 15b7a08

Please sign in to comment.