Lines Matching defs:obj

65 init_pltgot(Obj_Entry *obj)
67 if (obj->pltgot != NULL) {
68 obj->pltgot[1] = (Elf_Addr) obj;
69 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start;
184 reloc_nonplt_object(Obj_Entry *obj, const Elf_Rel *rel, SymCache *cache,
193 where = (Elf_Addr *)(obj->relocbase + rel->r_offset);
211 def = find_symdef(symnum, obj, &defobj, flags, cache,
215 tmp = (Elf_Addr)obj->relocbase + def->st_value
222 obj->path, where,
223 obj->strtab + obj->symtab[symnum].st_name,
230 obj->strtab + obj->symtab[symnum].st_name,
231 obj->path, (void *)*where, where, defobj->path);
238 def = find_symdef(symnum, obj, &defobj, flags, cache,
253 obj->strtab + obj->symtab[symnum].st_name,
254 obj->path, (void *)tmp, where, defobj->path);
259 tmp = *where + (Elf_Addr)obj->relocbase;
263 (Elf_Addr)obj->relocbase;
266 dbg("RELATIVE in %s --> %p", obj->path,
277 if (!obj->mainprog) {
280 obj->path);
287 def = find_symdef(symnum, obj, &defobj, flags, cache,
299 obj->strtab + obj->symtab[symnum].st_name,
300 obj->path, (void *)tmp);
304 def = find_symdef(symnum, obj, &defobj, flags, cache,
316 obj->strtab + obj->symtab[symnum].st_name,
317 obj->path, (void *)tmp);
322 def = find_symdef(symnum, obj, &defobj, flags, cache,
327 if (!defobj->tls_done && allocate_tls_offset(obj))
336 obj->strtab + obj->symtab[symnum].st_name,
337 obj->path, (void *)tmp);
346 obj->strtab + obj->symtab[symnum].st_name);
349 obj->path, (u_long) ELF_R_TYPE(rel->r_info));
359 reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags,
368 if (obj == obj_rtld)
378 cache = calloc(obj->dynsymcount, sizeof(SymCache));
381 rellim = (const Elf_Rel *)((caddr_t)obj->rel + obj->relsize);
382 for (rel = obj->rel; rel < rellim; rel++) {
383 if (reloc_nonplt_object(obj, rel, cache, flags, lockstate) < 0)
397 reloc_plt(Obj_Entry *obj)
402 rellim = (const Elf_Rel *)((char *)obj->pltrel +
403 obj->pltrelsize);
404 for (rel = obj->pltrel; rel < rellim; rel++) {
409 where = (Elf_Addr *)(obj->relocbase + rel->r_offset);
410 *where += (Elf_Addr )obj->relocbase;
420 reloc_jmpslots(Obj_Entry *obj, int flags, RtldLockState *lockstate)
429 rellim = (const Elf_Rel *)((char *)obj->pltrel + obj->pltrelsize);
430 for (rel = obj->pltrel; rel < rellim; rel++) {
432 where = (Elf_Addr *)(obj->relocbase + rel->r_offset);
433 def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj,
441 reloc_jmpslot(where, target, defobj, obj,
445 obj->jmpslots_done = true;
451 reloc_iresolve(Obj_Entry *obj, struct Struct_RtldLockState *lockstate)
459 reloc_gnu_ifunc(Obj_Entry *obj, int flags,
469 const Obj_Entry *obj, const Elf_Rel *rel)