Lines Matching refs:drs
144 Dwarf_Rel_Section drs; in _dwarf_reloc_section_init() local
150 if ((drs = calloc(1, sizeof(struct _Dwarf_Rel_Section))) == NULL) { in _dwarf_reloc_section_init()
155 drs->drs_ref = ref; in _dwarf_reloc_section_init()
162 drs->drs_addend = 1; in _dwarf_reloc_section_init()
164 drs->drs_addend = 0; in _dwarf_reloc_section_init()
172 drs->drs_addend ? ".rela" : ".rel", ref->ds_name); in _dwarf_reloc_section_init()
173 if (_dwarf_section_init(dbg, &drs->drs_ds, name, pseudo, error) != in _dwarf_reloc_section_init()
175 free(drs); in _dwarf_reloc_section_init()
180 STAILQ_INIT(&drs->drs_dre); in _dwarf_reloc_section_init()
181 STAILQ_INSERT_TAIL(&dbg->dbgp_drslist, drs, drs_next); in _dwarf_reloc_section_init()
183 *drsp = drs; in _dwarf_reloc_section_init()
191 Dwarf_Rel_Section drs, tdrs; in _dwarf_reloc_section_free() local
199 STAILQ_FOREACH_SAFE(drs, &dbg->dbgp_drslist, drs_next, tdrs) { in _dwarf_reloc_section_free()
200 if (drs != *drsp) in _dwarf_reloc_section_free()
202 STAILQ_REMOVE(&dbg->dbgp_drslist, drs, _Dwarf_Rel_Section, in _dwarf_reloc_section_free()
204 STAILQ_FOREACH_SAFE(dre, &drs->drs_dre, dre_next, tdre) { in _dwarf_reloc_section_free()
205 STAILQ_REMOVE(&drs->drs_dre, dre, _Dwarf_Rel_Entry, in _dwarf_reloc_section_free()
210 _dwarf_section_free(dbg, &drs->drs_ds); in _dwarf_reloc_section_free()
212 if (drs->drs_ds->ds_name) in _dwarf_reloc_section_free()
213 free(drs->drs_ds->ds_name); in _dwarf_reloc_section_free()
214 free(drs->drs_ds); in _dwarf_reloc_section_free()
216 free(drs); in _dwarf_reloc_section_free()
224 _dwarf_reloc_entry_add(Dwarf_P_Debug dbg, Dwarf_Rel_Section drs, in _dwarf_reloc_entry_add() argument
233 assert(drs != NULL); in _dwarf_reloc_entry_add()
245 drs->drs_addend == 0) in _dwarf_reloc_entry_add()
260 STAILQ_INSERT_TAIL(&drs->drs_dre, dre, dre_next); in _dwarf_reloc_entry_add()
267 drs->drs_drecnt++; in _dwarf_reloc_entry_add()
273 _dwarf_reloc_entry_add_pair(Dwarf_P_Debug dbg, Dwarf_Rel_Section drs, in _dwarf_reloc_entry_add_pair() argument
282 assert(drs != NULL); in _dwarf_reloc_entry_add_pair()
299 STAILQ_INSERT_TAIL(&drs->drs_dre, &dre[0], dre_next); in _dwarf_reloc_entry_add_pair()
300 STAILQ_INSERT_TAIL(&drs->drs_dre, &dre[1], dre_next); in _dwarf_reloc_entry_add_pair()
313 drs->drs_drecnt += 2; in _dwarf_reloc_entry_add_pair()
319 _dwarf_reloc_section_finalize(Dwarf_P_Debug dbg, Dwarf_Rel_Section drs, in _dwarf_reloc_section_finalize() argument
326 assert(dbg != NULL && drs != NULL && drs->drs_ds != NULL && in _dwarf_reloc_section_finalize()
327 drs->drs_ref != NULL); in _dwarf_reloc_section_finalize()
329 ds = drs->drs_ds; in _dwarf_reloc_section_finalize()
335 unit = drs->drs_addend ? sizeof(Elf64_Rela) : sizeof(Elf64_Rel); in _dwarf_reloc_section_finalize()
337 unit = drs->drs_addend ? sizeof(Elf32_Rela) : sizeof(Elf32_Rel); in _dwarf_reloc_section_finalize()
339 size = drs->drs_drecnt * unit; in _dwarf_reloc_section_finalize()
345 _dwarf_reloc_section_free(dbg, &drs); in _dwarf_reloc_section_finalize()
369 drs->drs_addend ? SHT_RELA : SHT_REL, 0, 0, drs->drs_ref->ds_ndx, in _dwarf_reloc_section_finalize()
381 _dwarf_reloc_section_gen(Dwarf_P_Debug dbg, Dwarf_Rel_Section drs, in _dwarf_reloc_section_gen() argument
390 assert(drs->drs_ds != NULL && drs->drs_ds->ds_size == 0); in _dwarf_reloc_section_gen()
391 assert(!STAILQ_EMPTY(&drs->drs_dre)); in _dwarf_reloc_section_gen()
392 ds = drs->drs_ds; in _dwarf_reloc_section_gen()
394 STAILQ_FOREACH(dre, &drs->drs_dre, dre_next) { in _dwarf_reloc_section_gen()
410 if (drs->drs_addend) { in _dwarf_reloc_section_gen()
430 if (drs->drs_addend) { in _dwarf_reloc_section_gen()
447 Dwarf_Rel_Section drs; in _dwarf_reloc_gen() local
452 STAILQ_FOREACH(drs, &dbg->dbgp_drslist, drs_next) { in _dwarf_reloc_gen()
457 STAILQ_FOREACH(dre, &drs->drs_dre, dre_next) { in _dwarf_reloc_gen()
470 ret = _dwarf_reloc_section_gen(dbg, drs, error); in _dwarf_reloc_gen()
482 Dwarf_Rel_Section drs, tdrs; in _dwarf_reloc_cleanup() local
487 STAILQ_FOREACH_SAFE(drs, &dbg->dbgp_drslist, drs_next, tdrs) { in _dwarf_reloc_cleanup()
488 STAILQ_REMOVE(&dbg->dbgp_drslist, drs, _Dwarf_Rel_Section, in _dwarf_reloc_cleanup()
490 free(drs->drs_drd); in _dwarf_reloc_cleanup()
491 STAILQ_FOREACH_SAFE(dre, &drs->drs_dre, dre_next, tdre) { in _dwarf_reloc_cleanup()
492 STAILQ_REMOVE(&drs->drs_dre, dre, _Dwarf_Rel_Entry, in _dwarf_reloc_cleanup()
497 if (drs->drs_ds) { in _dwarf_reloc_cleanup()
498 if (drs->drs_ds->ds_name) in _dwarf_reloc_cleanup()
499 free(drs->drs_ds->ds_name); in _dwarf_reloc_cleanup()
500 free(drs->drs_ds); in _dwarf_reloc_cleanup()
503 free(drs); in _dwarf_reloc_cleanup()