Lines Matching refs:Elf_Addr
69 caddr_t _rtld_bind(const Obj_Entry *, const Elf_Addr);
71 void __rtld_setup_hppa_pltgot(const Obj_Entry *, Elf_Addr *);
72 void _rtld_set_dp(Elf_Addr *);
81 static inline Elf_Addr
85 return *(Elf_Addr *)where;
87 Elf_Addr res;
95 store_ptr(void *where, Elf_Addr val)
98 *(Elf_Addr *)where = val;
133 #define RTLD_MAKE_PLABEL(plabel) (((Elf_Addr)(plabel)) | (1 << 1))
134 #define RTLD_IS_PLABEL(addr) (((Elf_Addr)(addr)) & (1 << 1))
135 #define RTLD_GET_PLABEL(addr) ((hppa_plabel *) (((Elf_Addr)addr) & ~3))
143 Elf_Addr hppa_plabel_pc;
144 Elf_Addr hppa_plabel_sl;
163 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr);
166 const Elf_Rela *, Elf_Addr *);
182 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase)
185 Elf_Addr relasz;
187 Elf_Addr *pltgot;
220 pltgot = (Elf_Addr *)
256 *((Elf_Addr *)where) =
275 plabel->hppa_plabel_pc = (Elf_Addr)
277 plabel->hppa_plabel_sl = (Elf_Addr)pltgot;
280 *((Elf_Addr *)where) = (Elf_Addr)(RTLD_MAKE_PLABEL(plabel));
293 (void *)*((Elf_Addr *)where) ));
303 (void *)*((Elf_Addr *)where) ));
313 (void *)*((Elf_Addr *)where) ));
331 Elf_Addr
333 Elf_Addr addend)
335 Elf_Addr func_pc, func_sl;
345 return (Elf_Addr)NULL;
350 func_pc = (Elf_Addr)(defobj->relocbase + def->st_value +
353 func_pc = (Elf_Addr)(defobj->relocbase + addend);
359 func_sl = (Elf_Addr)(defobj->pltgot);
374 return (Elf_Addr)-1;
449 Elf_Addr *where;
450 Elf_Addr tmp;
452 where = (Elf_Addr *)(obj->relocbase + rela->r_offset);
461 tmp = (Elf_Addr)(obj->relocbase +
487 tmp = (Elf_Addr)
532 tmp = (Elf_Addr)(defobj->relocbase +
546 if (tmp == (Elf_Addr)-1)
577 *where = (Elf_Addr)(defobj->tlsoffset + def->st_value +
586 *where = (Elf_Addr)(defobj->tlsindex);
595 *where = (Elf_Addr)(def->st_value);
625 Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset);
626 Elf_Addr func_pc, func_sl;
639 func_pc = (Elf_Addr)(obj->relocbase + rela->r_addend);
640 func_sl = (Elf_Addr)(obj->pltgot);
655 func_pc = ((Elf_Addr)(obj->pltgot)) - 16;
656 func_sl = (Elf_Addr)
676 Elf_Addr *tp)
681 Elf_Addr func_pc, func_sl;
687 func_pc = (Elf_Addr)(obj->relocbase + rela->r_addend);
688 func_sl = (Elf_Addr)(obj->pltgot);
700 Elf_Addr ptr = _rtld_resolve_ifunc(defobj, def);
706 func_pc = (Elf_Addr)(defobj->relocbase + def->st_value +
708 func_sl = (Elf_Addr)(defobj->pltgot);
725 *tp = (Elf_Addr)where;
734 Elf_Addr new_value = 0; /* XXX gcc */
762 Elf_Addr
763 _rtld_call_function_addr(const Obj_Entry *obj, Elf_Addr ptr)
766 Elf_Addr (*f)(void);
768 plabel.hppa_plabel_pc = (Elf_Addr)ptr;
769 plabel.hppa_plabel_sl = (Elf_Addr)(obj->pltgot);
770 f = (Elf_Addr (*)(void))RTLD_MAKE_PLABEL(&plabel);