mirror of
https://github.com/libunwind/libunwind.git
synced 2026-01-12 00:04:03 +08:00
Fix crash on QNX
This commit is contained in:
@@ -73,6 +73,8 @@ unw_is_signal_frame (unw_cursor_t *cursor)
|
||||
arg = c->dwarf.as_arg;
|
||||
|
||||
ip = c->dwarf.ip;
|
||||
if (unlikely(!ip))
|
||||
return 0;
|
||||
|
||||
ret = (*a->access_mem) (as, ip, &w0, 0, arg);
|
||||
if (ret < 0)
|
||||
|
||||
@@ -251,6 +251,12 @@ trace_init_addr (unw_tdep_frame_t *f,
|
||||
&& likely(dwarf_put (d, d->loc[UNW_ARM_R15], pc) >= 0)
|
||||
&& likely((ret = unw_step (cursor)) >= 0))
|
||||
*f = c->frame_info;
|
||||
#if defined (__QNX__)
|
||||
if (unw_is_signal_frame (cursor))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* If unw_step() stopped voluntarily, remember that, even if it
|
||||
otherwise could not determine anything useful. This avoids
|
||||
|
||||
Reference in New Issue
Block a user