if (phdr->p_type == PT_LOAD)
vdso->base = (void *)(vdso_base - phdr->p_vaddr + phdr->p_offset);
}
- vdso->name = vdso->shortname = "linux-gate.so.1";
+ vdso->name = "";
+ vdso->shortname = "linux-gate.so.1";
vdso->global = 1;
decode_dyn(vdso);
vdso->prev = lib;
if (ssp_used) __init_ssp((void *)aux[AT_RANDOM]);
- atexit(do_fini);
- do_init_fini(tail);
-
errno = 0;
return (void *)aux[AT_ENTRY];
}
+void __init_ldso_ctors(void)
+{
+ atexit(do_fini);
+ do_init_fini(tail);
+}
+
void *dlopen(const char *file, int mode)
{
struct dso *volatile p, *orig_tail, *next;