mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2025-04-02 04:12:16 +02:00
(_Uia64_find_dyn_list): Add "gp" argument.
Fix typo in address-offset for the "off" variable. Adjust for the fact that the dyn-info list address is now gp-relative. (Logical change 1.55)
This commit is contained in:
parent
cf3b756567
commit
54eda6d6fc
1 changed files with 3 additions and 3 deletions
|
@ -153,7 +153,7 @@ tdep_put_unwind_info (unw_addr_space_t as, unw_proc_info_t *pi, void *arg)
|
|||
|
||||
unw_word_t
|
||||
_Uia64_find_dyn_list (unw_addr_space_t as, void *table, size_t table_size,
|
||||
unw_word_t segbase, void *arg)
|
||||
unw_word_t segbase, unw_word_t gp, void *arg)
|
||||
{
|
||||
unw_word_t hdr_addr, info_addr, hdr, directives, pers, cookie, off;
|
||||
unw_accessors_t *a = unw_get_accessors (as);
|
||||
|
@ -193,7 +193,7 @@ _Uia64_find_dyn_list (unw_addr_space_t as, void *table, size_t table_size,
|
|||
if (((ret = (*a->access_mem) (as, info_addr, &directives, 0, arg)) < 0)
|
||||
|| ((ret = (*a->access_mem) (as, info_addr + 0x08, &pers, 0, arg)) < 0)
|
||||
|| ((ret = (*a->access_mem) (as, info_addr + 0x10, &cookie, 0, arg)) < 0)
|
||||
|| ((ret = (*a->access_mem) (as, info_addr + 0x10, &off, 0, arg)) < 0))
|
||||
|| ((ret = (*a->access_mem) (as, info_addr + 0x18, &off, 0, arg)) < 0))
|
||||
return 0;
|
||||
|
||||
if (directives != 0 || pers != 0
|
||||
|
@ -202,7 +202,7 @@ _Uia64_find_dyn_list (unw_addr_space_t as, void *table, size_t table_size,
|
|||
return 0;
|
||||
|
||||
/* OK, we ran the gauntlet and found it: */
|
||||
return off + segbase;
|
||||
return off + gp;
|
||||
}
|
||||
|
||||
#ifndef UNW_REMOTE_ONLY
|
||||
|
|
Loading…
Add table
Reference in a new issue