Lines Matching full:at

35 	Dwarf_Attribute at;  in _dwarf_attr_alloc()  local
40 if ((at = calloc(1, sizeof(struct _Dwarf_Attribute))) == NULL) { in _dwarf_attr_alloc()
45 *atp = at; in _dwarf_attr_alloc()
54 Dwarf_Attribute at; in _dwarf_attr_add() local
57 if ((ret = _dwarf_attr_alloc(die, &at, error)) != DW_DLE_NONE) in _dwarf_attr_add()
60 memcpy(at, atref, sizeof(struct _Dwarf_Attribute)); in _dwarf_attr_add()
62 STAILQ_INSERT_TAIL(&die->die_attr, at, at_next); in _dwarf_attr_add()
65 if (at->at_attrib == DW_AT_name) { in _dwarf_attr_add()
66 switch (at->at_form) { in _dwarf_attr_add()
68 die->die_name = at->u[1].s; in _dwarf_attr_add()
71 die->die_name = at->u[0].s; in _dwarf_attr_add()
79 *atp = at; in _dwarf_attr_add()
87 Dwarf_Attribute at; in _dwarf_attr_find() local
89 STAILQ_FOREACH(at, &die->die_attr, at_next) { in _dwarf_attr_find()
90 if (at->at_attrib == attr) in _dwarf_attr_find()
94 return (at); in _dwarf_attr_find()
216 Dwarf_CU cu, Dwarf_Attribute at, int pass2, Dwarf_Error *error) in _dwarf_attr_write() argument
222 assert(dbg != NULL && ds != NULL && cu != NULL && at != NULL); in _dwarf_attr_write()
226 if (at->at_form != DW_FORM_ref4 && at->at_form != DW_FORM_ref8) in _dwarf_attr_write()
228 if (at->at_refdie == NULL || at->at_offset == 0) in _dwarf_attr_write()
230 offset = at->at_offset; in _dwarf_attr_write()
231 dbg->write(ds->ds_data, &offset, at->at_refdie->die_offset, in _dwarf_attr_write()
232 at->at_form == DW_FORM_ref4 ? 4 : 8); in _dwarf_attr_write()
236 switch (at->at_form) { in _dwarf_attr_write()
238 if (at->at_relsym) in _dwarf_attr_write()
241 ds->ds_size, at->at_relsym, at->u[0].u64, NULL, in _dwarf_attr_write()
244 ret = WRITE_VALUE(at->u[0].u64, cu->cu_pointer_size); in _dwarf_attr_write()
251 if (at->at_form == DW_FORM_block) { in _dwarf_attr_write()
253 &ds->ds_cap, &ds->ds_size, at->u[0].u64, error); in _dwarf_attr_write()
257 if (at->at_form == DW_FORM_block1) in _dwarf_attr_write()
259 else if (at->at_form == DW_FORM_block2) in _dwarf_attr_write()
263 ret = WRITE_VALUE(at->u[0].u64, bs); in _dwarf_attr_write()
272 ret = WRITE_BLOCK(at->u[1].u8p, at->u[0].u64); in _dwarf_attr_write()
275 if (at->at_expr == NULL) in _dwarf_attr_write()
279 STAILQ_FOREACH(ee, &at->at_expr->pe_eelist, ee_next) { in _dwarf_attr_write()
293 ret = WRITE_VALUE(at->u[0].u64, 1); in _dwarf_attr_write()
297 ret = WRITE_VALUE(at->u[0].u64, 2); in _dwarf_attr_write()
300 if (at->at_relsym || at->at_relsec != NULL) in _dwarf_attr_write()
302 dwarf_drt_data_reloc, 4, ds->ds_size, at->at_relsym, in _dwarf_attr_write()
303 at->u[0].u64, at->at_relsec, error); in _dwarf_attr_write()
305 ret = WRITE_VALUE(at->u[0].u64, 4); in _dwarf_attr_write()
308 if (at->at_relsym || at->at_relsec != NULL) in _dwarf_attr_write()
310 dwarf_drt_data_reloc, 8, ds->ds_size, at->at_relsym, in _dwarf_attr_write()
311 at->u[0].u64, at->at_relsec, error); in _dwarf_attr_write()
313 ret = WRITE_VALUE(at->u[0].u64, 8); in _dwarf_attr_write()
320 * offset at the moement, then we remember at_offset and fill in _dwarf_attr_write()
323 if (at->at_refdie) { in _dwarf_attr_write()
324 value = at->at_refdie->die_offset; in _dwarf_attr_write()
327 at->at_offset = ds->ds_size; in _dwarf_attr_write()
330 value = at->u[0].u64; in _dwarf_attr_write()
331 ret = WRITE_VALUE(value, at->at_form == DW_FORM_ref4 ? 4 : 8); in _dwarf_attr_write()
340 if (at->at_relsym) in _dwarf_attr_write()
343 ds->ds_size, at->at_relsym, at->u[0].u64, NULL, in _dwarf_attr_write()
346 ret = WRITE_VALUE(at->u[0].u64, cu->cu_pointer_size); in _dwarf_attr_write()
350 ret = WRITE_ULEB128(at->u[0].u64); in _dwarf_attr_write()
353 ret = WRITE_SLEB128(at->u[0].s64); in _dwarf_attr_write()
356 assert(at->u[0].s != NULL); in _dwarf_attr_write()
357 ret = WRITE_STRING(at->u[0].s); in _dwarf_attr_write()
361 4, ds->ds_size, 0, at->u[0].u64, ".debug_str", error); in _dwarf_attr_write()
377 Dwarf_Attribute at; in _dwarf_add_AT_dataref() local
382 if ((ret = _dwarf_attr_alloc(die, &at, error)) != DW_DLE_NONE) in _dwarf_add_AT_dataref()
385 at->at_die = die; in _dwarf_add_AT_dataref()
386 at->at_attrib = attr; in _dwarf_add_AT_dataref()
388 at->at_form = DW_FORM_data4; in _dwarf_add_AT_dataref()
390 at->at_form = DW_FORM_data8; in _dwarf_add_AT_dataref()
391 at->at_relsym = sym_index; in _dwarf_add_AT_dataref()
392 at->at_relsec = secname; in _dwarf_add_AT_dataref()
393 at->u[0].u64 = pc_value; in _dwarf_add_AT_dataref()
395 STAILQ_INSERT_TAIL(&die->die_attr, at, at_next); in _dwarf_add_AT_dataref()
398 *atp = at; in _dwarf_add_AT_dataref()
407 Dwarf_Attribute at; in _dwarf_add_string_attr() local
420 if ((ret = _dwarf_attr_alloc(die, &at, error)) != DW_DLE_NONE) in _dwarf_add_string_attr()
423 at->at_die = die; in _dwarf_add_string_attr()
424 at->at_attrib = attr; in _dwarf_add_string_attr()
425 at->at_form = DW_FORM_strp; in _dwarf_add_string_attr()
426 if ((ret = _dwarf_strtab_add(dbg, string, &at->u[0].u64, in _dwarf_add_string_attr()
428 free(at); in _dwarf_add_string_attr()
431 at->u[1].s = _dwarf_strtab_get_table(dbg) + at->u[0].u64; in _dwarf_add_string_attr()
433 *atp = at; in _dwarf_add_string_attr()
435 STAILQ_INSERT_TAIL(&die->die_attr, at, at_next); in _dwarf_add_string_attr()
444 Dwarf_Attribute at; in _dwarf_attr_gen() local
449 STAILQ_FOREACH(at, &die->die_attr, at_next) { in _dwarf_attr_gen()
450 ret = _dwarf_attr_write(dbg, ds, drs, cu, at, pass2, error); in _dwarf_attr_gen()