summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/ia64/reloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rtld-elf/ia64/reloc.c')
-rw-r--r--libexec/rtld-elf/ia64/reloc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libexec/rtld-elf/ia64/reloc.c b/libexec/rtld-elf/ia64/reloc.c
index 921e5d4..d5b45b7 100644
--- a/libexec/rtld-elf/ia64/reloc.c
+++ b/libexec/rtld-elf/ia64/reloc.c
@@ -586,6 +586,18 @@ call_initfini_pointer(const Obj_Entry *obj, Elf_Addr target)
((InitFunc) &fptr)();
}
+void
+call_init_pointer(const Obj_Entry *obj, Elf_Addr target)
+{
+ struct fptr fptr;
+
+ fptr.gp = (Elf_Addr) obj->pltgot;
+ fptr.target = target;
+ dbg(" initfini: target=%p, gp=%p",
+ (void *) fptr.target, (void *) fptr.gp);
+ ((InitArrFunc) &fptr)(main_argc, main_argv, environ);
+}
+
/* Initialize the special PLT entries. */
void
init_pltgot(Obj_Entry *obj)
OpenPOWER on IntegriCloud