Lines Matching refs:stash

141 alloc_dwarf1_unit (struct dwarf1_debug* stash)  in alloc_dwarf1_unit()  argument
145 struct dwarf1_unit* x = (struct dwarf1_unit *) bfd_zalloc (stash->abfd, amt); in alloc_dwarf1_unit()
148 x->prev = stash->lastUnit; in alloc_dwarf1_unit()
149 stash->lastUnit = x; in alloc_dwarf1_unit()
159 alloc_dwarf1_func (struct dwarf1_debug* stash, struct dwarf1_unit* aUnit) in alloc_dwarf1_func() argument
163 struct dwarf1_func* x = (struct dwarf1_func *) bfd_zalloc (stash->abfd, amt); in alloc_dwarf1_func()
267 parse_line_table (struct dwarf1_debug* stash, struct dwarf1_unit* aUnit) in parse_line_table() argument
272 if (stash->line_section == 0) in parse_line_table()
277 msec = bfd_get_section_by_name (stash->abfd, ".line"); in parse_line_table()
282 stash->line_section in parse_line_table()
284 (stash->abfd, msec, NULL, stash->syms); in parse_line_table()
286 if (! stash->line_section) in parse_line_table()
289 stash->line_section_end = stash->line_section + size; in parse_line_table()
292 xptr = stash->line_section + aUnit->stmt_list_offset; in parse_line_table()
293 if (xptr < stash->line_section_end) in parse_line_table()
301 tblend = bfd_get_32 (stash->abfd, (bfd_byte *) xptr) + xptr; in parse_line_table()
305 base = bfd_get_32 (stash->abfd, (bfd_byte *) xptr); in parse_line_table()
314 aUnit->linenumber_table = (struct linenumber *) bfd_alloc (stash->abfd, in parse_line_table()
323 = bfd_get_32 (stash->abfd, (bfd_byte *) xptr); in parse_line_table()
331 = base + bfd_get_32 (stash->abfd, (bfd_byte *) xptr); in parse_line_table()
345 parse_functions_in_unit (struct dwarf1_debug* stash, struct dwarf1_unit* aUnit) in parse_functions_in_unit() argument
351 eachDie < stash->debug_section_end; in parse_functions_in_unit()
356 if (! parse_die (stash->abfd, &eachDieInfo, eachDie, in parse_functions_in_unit()
357 stash->debug_section_end)) in parse_functions_in_unit()
365 struct dwarf1_func* aFunc = alloc_dwarf1_func (stash,aUnit); in parse_functions_in_unit()
376 eachDie = stash->debug_section + eachDieInfo.sibling; in parse_functions_in_unit()
388 dwarf1_unit_find_nearest_line (struct dwarf1_debug* stash, in dwarf1_unit_find_nearest_line() argument
407 if (! parse_line_table (stash, aUnit)) in dwarf1_unit_find_nearest_line()
413 if (! parse_functions_in_unit (stash, aUnit)) in dwarf1_unit_find_nearest_line()
459 struct dwarf1_debug *stash = elf_tdata (abfd)->dwarf1_find_line_info; in _bfd_dwarf1_find_nearest_line() local
470 if (! stash) in _bfd_dwarf1_find_nearest_line()
475 stash = elf_tdata (abfd)->dwarf1_find_line_info in _bfd_dwarf1_find_nearest_line()
478 if (! stash) in _bfd_dwarf1_find_nearest_line()
489 stash->debug_section in _bfd_dwarf1_find_nearest_line()
493 if (! stash->debug_section) in _bfd_dwarf1_find_nearest_line()
496 stash->debug_section_end = stash->debug_section + size; in _bfd_dwarf1_find_nearest_line()
497 stash->currentDie = stash->debug_section; in _bfd_dwarf1_find_nearest_line()
498 stash->abfd = abfd; in _bfd_dwarf1_find_nearest_line()
499 stash->syms = symbols; in _bfd_dwarf1_find_nearest_line()
505 if (! stash->debug_section) in _bfd_dwarf1_find_nearest_line()
510 for (eachUnit = stash->lastUnit; eachUnit; eachUnit = eachUnit->prev) in _bfd_dwarf1_find_nearest_line()
512 return dwarf1_unit_find_nearest_line (stash, eachUnit, addr, in _bfd_dwarf1_find_nearest_line()
517 while (stash->currentDie < stash->debug_section_end) in _bfd_dwarf1_find_nearest_line()
521 if (! parse_die (stash->abfd, &aDieInfo, stash->currentDie, in _bfd_dwarf1_find_nearest_line()
522 stash->debug_section_end)) in _bfd_dwarf1_find_nearest_line()
528 = alloc_dwarf1_unit (stash); in _bfd_dwarf1_find_nearest_line()
541 && stash->currentDie + aDieInfo.length in _bfd_dwarf1_find_nearest_line()
542 < stash->debug_section_end in _bfd_dwarf1_find_nearest_line()
543 && stash->currentDie + aDieInfo.length in _bfd_dwarf1_find_nearest_line()
544 != stash->debug_section + aDieInfo.sibling) in _bfd_dwarf1_find_nearest_line()
545 aUnit->first_child = stash->currentDie + aDieInfo.length; in _bfd_dwarf1_find_nearest_line()
550 return dwarf1_unit_find_nearest_line (stash, aUnit, addr, in _bfd_dwarf1_find_nearest_line()
557 stash->currentDie = stash->debug_section + aDieInfo.sibling; in _bfd_dwarf1_find_nearest_line()
559 stash->currentDie += aDieInfo.length; in _bfd_dwarf1_find_nearest_line()