X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fldso%2Fdynlink.c;h=d564b8f2aa207d8b8744c48b32301e211db5a515;hb=a8f73bb1a685dd7d67669c6f6ceb255cfa967790;hp=66f22bef194f2ed0e430c74acaa5155471e098ef;hpb=19b1a8453e9d329a16711900a84797c5f1333208;p=musl diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 66f22bef..d564b8f2 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -927,7 +927,8 @@ void *__dynlink(int argc, char **argv) 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; @@ -998,13 +999,16 @@ void *__dynlink(int argc, char **argv) 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;