Lines Matching defs:refs
44 } refs[0];
85 struct secref *refs = NULL;
140 newref->next = refs;
141 refs = newref;
155 for (struct secref *sec = refs; sec != NULL; sec = sec->next)
168 mod->reloc_info = malloc (offsetof (struct dwfl_relocation, refs[nrefs]));
176 for (size_t i = nrefs; i-- > 0; refs = refs->next)
177 sortrefs[i] = refs;
178 assert (refs == NULL);
185 mod->reloc_info->refs[i].name = sortrefs[i]->name;
186 mod->reloc_info->refs[i].scn = sortrefs[i]->scn;
187 mod->reloc_info->refs[i].relocs = sortrefs[i]->relocs;
188 mod->reloc_info->refs[i].start = sortrefs[i]->start;
189 mod->reloc_info->refs[i].end = sortrefs[i]->end;
215 if (mod->reloc_info->refs[i].scn == tscn)
217 mod->reloc_info->refs[i].relocs = scn;
225 while (refs != NULL)
227 struct secref *ref = refs;
228 refs = ref->next;
290 *shndxp = elf_ndxscn (sections->refs[idx].scn);
292 return sections->refs[idx].name;
329 /* Find the index in MOD->reloc_info.refs containing *ADDR. */
343 if (*addr < sections->refs[idx].start)
345 else if (*addr > sections->refs[idx].end)
352 if (*addr == sections->refs[idx].end
354 && *addr == sections->refs[idx + 1].start)
357 *addr -= sections->refs[idx].start;
374 return elf_ndxscn (mod->reloc_info->refs[idx].scn);
414 if (mod->reloc_info->refs[idx].relocs != NULL)
418 Elf_Scn *tscn = mod->reloc_info->refs[idx].scn;
419 Elf_Scn *relocscn = mod->reloc_info->refs[idx].relocs;
423 mod->reloc_info->refs[idx].relocs = NULL;
432 return mod->reloc_info->refs[idx].scn;