Lines Matching refs:at

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