mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-19 06:17:37 +01:00
Don't give up on proc finding if dwarf_callback fails, but
don't bother completing the dwarf search work either. Move on to the arm method.
This commit is contained in:
parent
be06809b5f
commit
4f14d9714f
1 changed files with 10 additions and 13 deletions
|
@ -523,12 +523,8 @@ arm_find_proc_info (unw_addr_space_t as, unw_word_t ip,
|
||||||
ret = dl_iterate_phdr (dwarf_callback, &cb_data);
|
ret = dl_iterate_phdr (dwarf_callback, &cb_data);
|
||||||
SIGPROCMASK (SIG_SETMASK, &saved_mask, NULL);
|
SIGPROCMASK (SIG_SETMASK, &saved_mask, NULL);
|
||||||
|
|
||||||
if (ret <= 0)
|
if (ret > 0)
|
||||||
{
|
{
|
||||||
Debug (14, "IP=0x%lx not found\n", (long) ip);
|
|
||||||
return -UNW_ENOINFO;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cb_data.single_fde)
|
if (cb_data.single_fde)
|
||||||
/* already got the result in *pi */
|
/* already got the result in *pi */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -539,6 +535,7 @@ arm_find_proc_info (unw_addr_space_t as, unw_word_t ip,
|
||||||
else
|
else
|
||||||
ret = -UNW_ENOINFO;
|
ret = -UNW_ENOINFO;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ret < 0 && UNW_TRY_METHOD (UNW_ARM_METHOD_EXIDX))
|
if (ret < 0 && UNW_TRY_METHOD (UNW_ARM_METHOD_EXIDX))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue