Lines Matching refs:object
47 uint64_t _dl_bind(elf_object_t *object, int reloff);
100 _dl_md_reloc(elf_object_t *object, int rel, int relasz) in _dl_md_reloc() argument
107 loff = object->obj_base; in _dl_md_reloc()
108 numrela = object->Dyn.info[relasz] / sizeof(Elf_RelA); in _dl_md_reloc()
109 num_relative = rel == DT_RELA ? object->relacount : 0; in _dl_md_reloc()
110 rela = (Elf_RelA *)(object->Dyn.info[rel]); in _dl_md_reloc()
114 object->load_name, object->Dyn.info[relasz], numrela, loff)); in _dl_md_reloc()
121 if (!object->dyn.pltgot) in _dl_md_reloc()
122 object->Dyn.info[DT_PLTGOT] += loff; in _dl_md_reloc()
124 if (object->dyn.init && !((Elf_Addr)object->dyn.init & 2)) { in _dl_md_reloc()
125 Elf_Addr addr = _dl_md_plabel((Elf_Addr)object->dyn.init, in _dl_md_reloc()
126 object->dyn.pltgot); in _dl_md_reloc()
129 object->dyn.init, object->dyn.pltgot, in _dl_md_reloc()
130 addr, object->load_name)); in _dl_md_reloc()
132 object->dyn.init = (void *)addr; in _dl_md_reloc()
135 if (object->dyn.fini && !((Elf_Addr)object->dyn.fini & 2)) { in _dl_md_reloc()
136 Elf_Addr addr = _dl_md_plabel((Elf_Addr)object->dyn.fini, in _dl_md_reloc()
137 object->dyn.pltgot); in _dl_md_reloc()
140 object->dyn.fini, object->dyn.pltgot, in _dl_md_reloc()
141 addr, object->load_name)); in _dl_md_reloc()
143 object->dyn.fini = (void *)addr; in _dl_md_reloc()
151 if (object->obj_type == OBJTYPE_EXE) in _dl_md_reloc()
152 _hppa_dl_set_dp(object->dyn.pltgot); in _dl_md_reloc()
170 sym = object->dyn.symtab + ELF_R_SYM(rela->r_info); in _dl_md_reloc()
171 symn = object->dyn.strtab + sym->st_name; in _dl_md_reloc()
177 sym, object); in _dl_md_reloc()
185 sr.obj = object; in _dl_md_reloc()
200 i, symn, object->load_name, in _dl_md_reloc()
211 object->load_name, *pt)); in _dl_md_reloc()
227 i, symn, object->load_name, in _dl_md_reloc()
234 object->load_name, *pt)); in _dl_md_reloc()
246 i, symn, object->load_name, in _dl_md_reloc()
251 pt[1] = (Elf_Addr)object->dyn.pltgot; in _dl_md_reloc()
254 object->load_name, pt[0], pt[1])); in _dl_md_reloc()
263 sym, object); in _dl_md_reloc()
270 sr.sym->st_value, object->load_name, in _dl_md_reloc()
302 _dl_md_reloc_got(elf_object_t *object, int lazy) in _dl_md_reloc_got() argument
308 if (object->dyn.pltrel != DT_RELA) in _dl_md_reloc_got()
312 fails = _dl_md_reloc(object, DT_JMPREL, DT_PLTRELSZ); in _dl_md_reloc_got()
317 rela = (Elf_RelA *)(object->dyn.jmprel); in _dl_md_reloc_got()
318 numrela = object->dyn.pltrelsz / sizeof(Elf_RelA); in _dl_md_reloc_got()
319 ooff = object->obj_base; in _dl_md_reloc_got()
358 got[1] = (Elf_Addr)object; in _dl_md_reloc_got()
393 (Elf_RelA *)object->dyn.jmprel); in _dl_md_reloc_got()
396 r_addr[1] = (Elf_Addr)object->dyn.pltgot; in _dl_md_reloc_got()
408 _dl_bind(elf_object_t *object, int reloff) in _dl_bind() argument
421 rela = (Elf_RelA *)object->dyn.jmprel + reloff; in _dl_bind()
423 sym = object->dyn.symtab; in _dl_bind()
425 symn = object->dyn.strtab + sym->st_name; in _dl_bind()
428 sym, object); in _dl_bind()
439 buf.param.kb_addr = (Elf_Addr *)(object->obj_base + rela->r_offset); in _dl_bind()