Home | History | Annotate | Download | only in dwarf

Lines Matching defs:ip

61 		 unw_word_t ip, unw_word_t *addr, unw_word_t end_addr,
85 /* Process everything up to and including the current 'ip',
88 while (curr_ip <= ip && *addr < end_addr)
389 fetch_proc_info (struct dwarf_cursor *c, unw_word_t ip, int need_unwind_info)
393 /* The 'ip' can point either to the previous or next instruction
404 up using the current 'ip' value. That is where execution will
405 continue, and it's important we get this right, as 'ip' could be
409 --ip;
417 ret = unwi_find_dynamic_proc_info (c->as, ip, &c->pi, need_unwind_info,
422 if ((ret = tdep_find_proc_info (c, ip, need_unwind_info)) < 0)
436 tdep_fetch_frame (c, ip, need_unwind_info);
450 parse_dynamic (struct dwarf_cursor *c, unw_word_t ip, dwarf_state_record_t *sr)
473 parse_fde (struct dwarf_cursor *c, unw_word_t ip, dwarf_state_record_t *sr)
490 if ((ret = run_cfi_program (c, sr, ip, &addr, dci->fde_instr_end, dci)) < 0)
509 cache->buckets[i].ip = 0;
552 hash (unw_word_t ip)
557 return ip * magic >> ((sizeof(unw_word_t) * 8) - DWARF_LOG_UNW_HASH_SIZE);
561 cache_match (dwarf_reg_state_t *rs, unw_word_t ip)
563 if (rs->valid && (ip == rs->ip))
573 unw_word_t ip;
575 ip = c->ip;
577 if (cache_match (rs, ip))
580 index = cache->hash[hash (ip)];
587 if (cache_match (rs, ip))
616 if (rs->ip)
618 index = hash (rs->ip);
641 index = hash (c->ip);
646 rs->ip = c->ip;
657 unw_word_t ip)
671 ret = parse_fde (c, ip, sr);
675 ret = parse_dynamic (c, ip, sr);
712 unw_word_t regnum, addr, cfa, ip;
720 prev_ip = c->ip;
794 c->ip = 0;
797 ret = dwarf_get (c, c->loc[c->ret_addr_column], &ip);
800 c->ip = ip;
803 /* XXX: check for ip to be code_aligned */
804 if (c->ip == prev_ip && c->cfa == prev_cfa)
806 Dprintf ("%s: ip and cfa unchanged; stopping here (ip=0x%lx)\n",
807 __FUNCTION__, (long) c->ip);
823 if ((ret = fetch_proc_info (c, c->ip, 1)) < 0)
829 if ((ret = create_state_record_for (c, &sr, c->ip)) < 0)
888 if ((ret = fetch_proc_info (c, c->ip, 1)) < 0 ||
889 (ret = create_state_record_for (c, sr, c->ip)) < 0)
900 memcpy(rs, &sr->rs_current, offsetof(struct dwarf_reg_state, ip));
932 /* The proc-info must be valid for IP before this routine can be
937 return create_state_record_for (c, sr, c->ip);
948 return fetch_proc_info (c, c->ip, 0);