mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-24 12:13:42 +01:00
(create_state_record_for): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
This commit is contained in:
parent
48723262f7
commit
0976af5f9f
1 changed files with 11 additions and 3 deletions
|
@ -949,16 +949,24 @@ create_state_record_for (struct cursor *c, struct ia64_state_record *sr,
|
|||
sr->when_target = (3 * ((ip & ~(unw_word_t) 0xf) - c->pi.start_ip) / 16
|
||||
+ (ip & 0xf));
|
||||
|
||||
if (c->pi.format == UNW_INFO_FORMAT_TABLE)
|
||||
switch (c->pi.format)
|
||||
{
|
||||
case UNW_INFO_FORMAT_TABLE:
|
||||
case UNW_INFO_FORMAT_REMOTE_TABLE:
|
||||
dp = c->pi.unwind_info;
|
||||
desc_end = dp + c->pi.unwind_info_size;
|
||||
while (!sr->done && dp < desc_end)
|
||||
dp = unw_decode (dp, sr->in_body, sr);
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
case UNW_INFO_FORMAT_DYNAMIC:
|
||||
ret = parse_dynamic (c, sr);
|
||||
break;
|
||||
|
||||
default:
|
||||
ret = -UNW_EINVAL;
|
||||
}
|
||||
else
|
||||
ret = parse_dynamic (c, sr);
|
||||
|
||||
put_unwind_info (c, &c->pi);
|
||||
|
||||
|
|
Loading…
Reference in a new issue