Lines Matching refs:unit

267 read_indirect_string (struct comp_unit* unit,  in read_indirect_string()  argument
272 struct dwarf2_debug *stash = unit->stash; in read_indirect_string()
274 if (unit->offset_size == 4) in read_indirect_string()
275 offset = read_4_bytes (unit->abfd, buf); in read_indirect_string()
277 offset = read_8_bytes (unit->abfd, buf); in read_indirect_string()
278 *bytes_read_ptr = unit->offset_size; in read_indirect_string()
283 bfd *abfd = unit->abfd; in read_indirect_string()
382 read_address (struct comp_unit *unit, char *buf) in read_address() argument
384 switch (unit->addr_size) in read_address()
387 return bfd_get_64 (unit->abfd, buf); in read_address()
389 return bfd_get_32 (unit->abfd, buf); in read_address()
391 return bfd_get_16 (unit->abfd, buf); in read_address()
538 struct comp_unit *unit, in read_attribute_value() argument
541 bfd *abfd = unit->abfd; in read_attribute_value()
553 attr->u.val = read_address (unit, info_ptr); in read_attribute_value()
554 info_ptr += unit->addr_size; in read_attribute_value()
591 attr->u.str = read_indirect_string (unit, info_ptr, &bytes_read); in read_attribute_value()
651 info_ptr = read_attribute_value (attr, form, unit, info_ptr); in read_attribute_value()
666 struct comp_unit *unit, in read_attribute() argument
670 info_ptr = read_attribute_value (attr, abbrev->form, unit, info_ptr); in read_attribute()
856 arange_add (struct comp_unit *unit, bfd_vma low_pc, bfd_vma high_pc) in arange_add() argument
861 arange = &unit->arange; in arange_add()
879 if (unit->arange.high == 0) in arange_add()
882 unit->arange.next = 0; in arange_add()
883 unit->arange.low = low_pc; in arange_add()
884 unit->arange.high = high_pc; in arange_add()
889 arange = bfd_zalloc (unit->abfd, sizeof (*arange)); in arange_add()
893 arange->next = unit->arange.next; in arange_add()
894 unit->arange.next = arange; in arange_add()
900 decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) in decode_line_info() argument
902 bfd *abfd = unit->abfd; in decode_line_info()
934 if (unit->line_offset >= stash->dwarf_line_size) in decode_line_info()
937 unit->line_offset, stash->dwarf_line_size); in decode_line_info()
945 table->comp_dir = unit->comp_dir; in decode_line_info()
957 line_ptr = stash->dwarf_line_buffer + unit->line_offset; in decode_line_info()
969 else if (lh.total_length == 0 && unit->addr_size == 8) in decode_line_info()
1111 arange_add (unit, low_pc, high_pc); in decode_line_info()
1114 address = read_address (unit, line_ptr); in decode_line_info()
1115 line_ptr += unit->addr_size; in decode_line_info()
1325 scan_unit_for_functions (struct comp_unit *unit) in scan_unit_for_functions() argument
1327 bfd *abfd = unit->abfd; in scan_unit_for_functions()
1328 char *info_ptr = unit->first_child_die_ptr; in scan_unit_for_functions()
1348 abbrev = lookup_abbrev (abbrev_number,unit->abbrevs); in scan_unit_for_functions()
1361 func->prev_func = unit->function_table; in scan_unit_for_functions()
1362 unit->function_table = func; in scan_unit_for_functions()
1369 info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr); in scan_unit_for_functions()
1436 struct comp_unit* unit; in parse_comp_unit() local
1507 unit = bfd_zalloc (abfd, amt); in parse_comp_unit()
1508 unit->abfd = abfd; in parse_comp_unit()
1509 unit->addr_size = addr_size; in parse_comp_unit()
1510 unit->offset_size = offset_size; in parse_comp_unit()
1511 unit->abbrevs = abbrevs; in parse_comp_unit()
1512 unit->end_ptr = end_ptr; in parse_comp_unit()
1513 unit->stash = stash; in parse_comp_unit()
1517 info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr); in parse_comp_unit()
1524 unit->stmtlist = 1; in parse_comp_unit()
1525 unit->line_offset = attr.u.val; in parse_comp_unit()
1529 unit->name = attr.u.str; in parse_comp_unit()
1533 unit->arange.low = attr.u.val; in parse_comp_unit()
1537 unit->arange.high = attr.u.val; in parse_comp_unit()
1552 unit->comp_dir = comp_dir; in parse_comp_unit()
1561 unit->first_child_die_ptr = info_ptr; in parse_comp_unit()
1562 return unit; in parse_comp_unit()
1568 comp_unit_contains_address (struct comp_unit *unit, bfd_vma addr) in comp_unit_contains_address() argument
1572 if (unit->error) in comp_unit_contains_address()
1575 arange = &unit->arange; in comp_unit_contains_address()
1596 comp_unit_find_nearest_line (struct comp_unit *unit, in comp_unit_find_nearest_line() argument
1607 if (unit->error) in comp_unit_find_nearest_line()
1610 if (! unit->line_table) in comp_unit_find_nearest_line()
1612 if (! unit->stmtlist) in comp_unit_find_nearest_line()
1614 unit->error = 1; in comp_unit_find_nearest_line()
1618 unit->line_table = decode_line_info (unit, stash); in comp_unit_find_nearest_line()
1620 if (! unit->line_table) in comp_unit_find_nearest_line()
1622 unit->error = 1; in comp_unit_find_nearest_line()
1626 if (unit->first_child_die_ptr < unit->end_ptr in comp_unit_find_nearest_line()
1627 && ! scan_unit_for_functions (unit)) in comp_unit_find_nearest_line()
1629 unit->error = 1; in comp_unit_find_nearest_line()
1635 func_p = lookup_address_in_function_table (unit->function_table, addr, in comp_unit_find_nearest_line()
1637 line_p = lookup_address_in_line_info_table (unit->line_table, addr, in comp_unit_find_nearest_line()