1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-12-24 20:23:41 +01:00

(create_state_record_for): Handle UNW_INFO_FORMAT_REMOTE_TABLE.

(Logical change 1.126)
This commit is contained in:
hp.com!davidm 2003-11-25 22:33:49 +00:00
parent 48723262f7
commit 0976af5f9f

View file

@ -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 sr->when_target = (3 * ((ip & ~(unw_word_t) 0xf) - c->pi.start_ip) / 16
+ (ip & 0xf)); + (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; dp = c->pi.unwind_info;
desc_end = dp + c->pi.unwind_info_size; desc_end = dp + c->pi.unwind_info_size;
while (!sr->done && dp < desc_end) while (!sr->done && dp < desc_end)
dp = unw_decode (dp, sr->in_body, sr); dp = unw_decode (dp, sr->in_body, sr);
ret = 0; 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); put_unwind_info (c, &c->pi);