Lines Matching refs:attr

38 __libdw_formptr (Dwarf_Attribute *attr, int sec_index,
42 if (attr == NULL)
45 const Elf_Data *d = attr->cu->dbg->sectiondata[sec_index];
49 && attr->cu->version < 5
50 && attr->cu->unit_type == DW_UT_split_compile))
52 skel = __libdw_find_split_unit (attr->cu);
64 if (attr->form == DW_FORM_sec_offset)
75 Elf_Data *data = attr->cu->dbg->sectiondata[cu_sec_idx (attr->cu)];
76 const unsigned char *datap = attr->valp;
77 size_t size = attr->cu->offset_size;
87 offset = read_4ubyte_unaligned (attr->cu->dbg, datap);
89 offset = read_8ubyte_unaligned (attr->cu->dbg, datap);
95 if (__libdw_read_offset (attr->cu->dbg, attr->cu->dbg,
96 cu_sec_idx (attr->cu), attr->valp,
97 attr->cu->offset_size, &offset,
102 else if (attr->cu->version > 3)
105 switch (attr->form)
109 if (__libdw_read_offset (attr->cu->dbg, attr->cu->dbg,
110 cu_sec_idx (attr->cu),
111 attr->valp,
112 attr->form == DW_FORM_data4 ? 4 : 8,
118 if (INTUSE(dwarf_formudata) (attr, &offset))
139 dwarf_formudata (Dwarf_Attribute *attr, Dwarf_Word *return_uval)
141 if (attr == NULL)
144 const unsigned char *datap = attr->valp;
145 const unsigned char *endp = attr->cu->endp;
147 switch (attr->form)
156 *return_uval = *attr->valp;
162 *return_uval = read_2ubyte_unaligned (attr->cu->dbg, attr->valp);
172 if (attr->form == DW_FORM_sec_offset
173 || (attr->cu->version < 4 && attr->code != DW_AT_start_scope))
175 switch (attr->code)
188 if (attr->cu->version < 5)
191 if (__libdw_formptr (attr, IDX_debug_loc,
199 if (__libdw_formptr (attr, IDX_debug_loclists,
208 if (__libdw_formptr (attr, IDX_debug_macinfo,
217 if (__libdw_formptr (attr, IDX_debug_macro,
227 if (attr->cu->version < 5)
230 if (__libdw_formptr (attr, IDX_debug_ranges,
238 if (__libdw_formptr (attr, IDX_debug_rnglists,
247 if (__libdw_formptr (attr, IDX_debug_line,
256 if (__libdw_formptr (attr, IDX_debug_addr,
264 if (__libdw_formptr (attr, IDX_debug_str_offsets,
272 if (attr->form == DW_FORM_sec_offset)
279 if (__libdw_read_address (attr->cu->dbg, cu_sec_idx (attr->cu),
280 attr->valp,
281 attr->form == DW_FORM_data4 ? 4 : 8,
290 if (__libdw_read_address (attr->cu->dbg, cu_sec_idx (attr->cu),
291 attr->valp,
292 attr->form == DW_FORM_data4 ? 4 : 8,
335 *return_uval = read_2ubyte_unaligned (attr->cu->dbg, datap);
341 *return_uval = read_3ubyte_unaligned (attr->cu->dbg, datap);
347 *return_uval = read_4ubyte_unaligned (attr->cu->dbg, datap);