• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/gdb/bfd/

Lines Matching refs:stash

232   struct dwarf2_debug *stash;
462 struct dwarf2_debug *stash = unit->stash;
471 if (! stash->dwarf_str_buffer)
487 stash->dwarf_str_size = sz;
488 stash->dwarf_str_buffer = bfd_alloc (abfd, sz);
489 if (! stash->dwarf_str_buffer)
492 if (! bfd_get_section_contents (abfd, msec, stash->dwarf_str_buffer,
497 if (offset >= stash->dwarf_str_size)
500 (unsigned long) offset, stash->dwarf_str_size);
505 str = (char *) stash->dwarf_str_buffer + offset;
576 read_abbrevs (bfd *abfd, bfd_uint64_t offset, struct dwarf2_debug *stash)
585 if (! stash->dwarf_abbrev_buffer)
597 stash->dwarf_abbrev_size = msec->size;
598 stash->dwarf_abbrev_buffer
600 stash->syms);
601 if (! stash->dwarf_abbrev_buffer)
605 if (offset >= stash->dwarf_abbrev_size)
608 (unsigned long) offset, stash->dwarf_abbrev_size);
616 abbrev_ptr = stash->dwarf_abbrev_buffer + offset;
689 if ((unsigned int) (abbrev_ptr - stash->dwarf_abbrev_buffer)
690 >= stash->dwarf_abbrev_size)
1129 decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
1141 if (! stash->dwarf_line_buffer)
1153 stash->dwarf_line_size = msec->size;
1154 stash->dwarf_line_buffer
1156 stash->syms);
1157 if (! stash->dwarf_line_buffer)
1163 if (unit->line_offset >= stash->dwarf_line_size)
1166 unit->line_offset, stash->dwarf_line_size);
1186 line_ptr = stash->dwarf_line_buffer + unit->line_offset;
1570 struct dwarf2_debug *stash = unit->stash;
1571 if (! stash->dwarf_ranges_buffer)
1584 stash->dwarf_ranges_size = msec->size;
1585 stash->dwarf_ranges_buffer
1587 stash->syms);
1588 if (! stash->dwarf_ranges_buffer)
1779 if (! unit->stash->dwarf_ranges_buffer)
1784 ranges_ptr = unit->stash->dwarf_ranges_buffer + offset;
2058 parse_comp_unit (struct dwarf2_debug *stash,
2071 bfd_byte *info_ptr = stash->info_ptr;
2076 bfd *abfd = stash->bfd;
2113 abbrevs = read_abbrevs (abfd, abbrev_offset, stash);
2143 unit->stash = stash;
2248 struct dwarf2_debug *stash)
2265 unit->line_table = decode_line_info (unit, stash);
2285 stash->inliner_chain = function;
2298 struct dwarf2_debug *stash)
2311 unit->line_table = decode_line_info (unit, stash);
2344 struct dwarf2_debug *stash)
2346 if (!comp_unit_maybe_decode_line_info (unit, stash))
2394 comp_unit_hash_info (struct dwarf2_debug *stash,
2403 BFD_ASSERT (stash->info_hash_status != STASH_INFO_HASH_DISABLED);
2405 if (!comp_unit_maybe_decode_line_info (unit, stash))
2424 info in the stash. */
2444 info in the stash. */
2490 unset_sections (struct dwarf2_debug *stash)
2495 i = stash->loadable_section_count;
2496 p = stash->loadable_sections;
2505 place_sections (bfd *abfd, struct dwarf2_debug *stash)
2510 if (stash->loadable_section_count != 0)
2512 i = stash->loadable_section_count;
2513 p = stash->loadable_sections;
2544 stash->loadable_sections = p;
2545 stash->loadable_section_count = i;
2669 stash_maybe_update_info_hash_tables (struct dwarf2_debug *stash)
2674 if (stash->all_comp_units == stash->hash_units_head)
2677 if (stash->hash_units_head)
2678 each = stash->hash_units_head->prev_unit;
2680 each = stash->last_comp_unit;
2684 if (!comp_unit_hash_info (stash, each, stash->funcinfo_hash_table,
2685 stash->varinfo_hash_table))
2687 stash->info_hash_status = STASH_INFO_HASH_DISABLED;
2693 stash->hash_units_head = stash->all_comp_units;
2700 stash_verify_info_hash_table (struct dwarf2_debug *stash)
2708 for (each_unit = stash->all_comp_units;
2718 node = lookup_info_hash_table (stash->funcinfo_hash_table,
2736 node = lookup_info_hash_table (stash->varinfo_hash_table,
2756 stash_maybe_enable_info_hash_tables (bfd *abfd, struct dwarf2_debug *stash)
2758 BFD_ASSERT (stash->info_hash_status == STASH_INFO_HASH_OFF);
2760 if (stash->info_hash_count++ < STASH_INFO_HASH_TRIGGER)
2767 stash->funcinfo_hash_table = create_info_hash_table (abfd);
2768 stash->varinfo_hash_table = create_info_hash_table (abfd);
2769 if (!stash->funcinfo_hash_table || !stash->varinfo_hash_table)
2772 stash->info_hash_status = STASH_INFO_HASH_DISABLED;
2778 stash_maybe_update_info_hash_tables (stash);
2779 stash->info_hash_status = STASH_INFO_HASH_ON;
2783 info hash tables of a stash. If there is a match, the function returns
2788 stash_find_line_fast (struct dwarf2_debug *stash,
2794 BFD_ASSERT (stash->info_hash_status == STASH_INFO_HASH_ON);
2797 return info_hash_lookup_funcinfo (stash->funcinfo_hash_table, sym, addr,
2799 return info_hash_lookup_varinfo (stash->varinfo_hash_table, sym, addr,
2834 struct dwarf2_debug *stash;
2841 stash = *pinfo;
2843 if (! stash)
2847 stash = bfd_zalloc (abfd, amt);
2848 if (! stash)
2856 if (! place_sections (abfd, stash))
2891 *pinfo = stash;
2900 Note that at this point the stash has been allocated, but
2920 Read them all in and produce one large stash. We do this in two
2923 us to avoid reallocing the data as we add sections to the stash. */
2927 stash->info_ptr = bfd_alloc (debug_bfd, total_size);
2928 if (stash->info_ptr == NULL)
2931 stash->info_ptr_end = stash->info_ptr;
2944 start = stash->info_ptr_end - stash->info_ptr;
2947 (debug_bfd, msec, stash->info_ptr + start, symbols)) == NULL)
2950 stash->info_ptr_end = stash->info_ptr + start + size;
2953 BFD_ASSERT (stash->info_ptr_end == stash->info_ptr + total_size);
2955 stash->sec = find_debug_info (debug_bfd, NULL);
2956 stash->sec_info_ptr = stash->info_ptr;
2957 stash->syms = symbols;
2958 stash->bfd = debug_bfd;
2962 (or that an error occured while setting up the stash). */
2963 if (! stash->info_ptr)
2966 stash->inliner_chain = NULL;
2974 if (stash->info_hash_status == STASH_INFO_HASH_OFF)
2975 stash_maybe_enable_info_hash_tables (abfd, stash);
2979 if (stash->info_hash_status == STASH_INFO_HASH_ON)
2980 stash_maybe_update_info_hash_tables (stash);
2982 if (stash->info_hash_status == STASH_INFO_HASH_ON)
2984 found = stash_find_line_fast (stash, symbol, addr, filename_ptr,
2992 for (each = stash->all_comp_units; each; each = each->next_unit)
2997 linenumber_ptr, stash);
3005 for (each = stash->all_comp_units; each; each = each->next_unit)
3012 stash));
3026 while (stash->info_ptr < stash->info_ptr_end)
3030 bfd_byte *info_ptr_unit = stash->info_ptr;
3032 length = read_4_bytes (stash->bfd, stash->info_ptr);
3038 length = read_8_bytes (stash->bfd, stash->info_ptr + 4);
3039 stash->info_ptr += 12;
3047 length = read_4_bytes (stash->bfd, stash->info_ptr + 4);
3048 stash->info_ptr += 8;
3062 stash->info_ptr += 4;
3065 stash->info_ptr += 4;
3069 each = parse_comp_unit (stash, length, info_ptr_unit,
3071 stash->info_ptr += length;
3073 if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
3074 == stash->sec->size)
3076 stash->sec = find_debug_info (stash->bfd, stash->sec);
3077 stash->sec_info_ptr = stash->info_ptr;
3082 if (stash->all_comp_units)
3083 stash->all_comp_units->prev_unit = each;
3085 stash->last_comp_unit = each;
3087 each->next_unit = stash->all_comp_units;
3088 stash->all_comp_units = each;
3102 stash));
3110 stash));
3119 unset_sections (stash);
3167 struct dwarf2_debug *stash;
3169 stash = *pinfo;
3170 if (stash)
3172 struct funcinfo *func = stash->inliner_chain;
3179 stash->inliner_chain = func->caller_func;
3191 struct dwarf2_debug *stash;
3196 stash = elf_tdata (abfd)->dwarf2_find_line_info;
3198 if (stash == NULL)
3201 for (each = stash->all_comp_units; each; each = each->next_unit)
3224 free (stash->dwarf_abbrev_buffer);
3225 free (stash->dwarf_line_buffer);
3226 free (stash->dwarf_ranges_buffer);