fix eh_frame unwinder - switching to synchronous process reads exposed losing info about a missed address read for unwinding, so unwinds never succeeded

This commit is contained in:
Ryan Fleury committed 2026-08-04 18:51:01 -07:00
1 parent a6755d6191
commit a0a16ea11e
3 files changed
+6 -4

No files matched your search

@@ -1764,7 +1764,8 @@ ev_string_iter_next(Arena *arena, EV_StringIter *it, String8 *out_string)
{
ptr_data->addr_is_good = 1;
}
else if(e_space_read(ptr_data->value_eval.space, &byte, &range_info, r1u64(ptr_data->value_eval.value.u64, ptr_data->value_eval.value.u64+1)))
else if(e_space_read(ptr_data->value_eval.space, &byte, &range_info, r1u64(ptr_data->value_eval.value.u64, ptr_data->value_eval.value.u64+1)) &&
!(range_info.flags & E_SpaceRangeFlag_Stale))
{
ptr_data->addr_is_good = !(byte_bad_flags & 1);
}