author | Rich Felker <dalias@aerifal.cx> | 2017年03月21日 08:35:59 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2017年03月21日 08:39:37 -0400 |
commit | 0c53178ec09478ca5f6ca6b5ad09d50a10c8f19d (patch) | |
tree | 679a71aa1d0dd4ac7f387d4ff32ed2df9bc3360c | |
parent | dbff2bb889bc831599b022c49252c69bf48f4e4e (diff) | |
download | musl-0c53178ec09478ca5f6ca6b5ad09d50a10c8f19d.tar.gz |
-rw-r--r-- | ldso/dynlink.c | 4 |
diff --git a/ldso/dynlink.c b/ldso/dynlink.c index 5361b844..d20dbd87 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -1768,9 +1768,9 @@ void *dlopen(const char *file, int mode) } /* First load handling */ - if (!p->relocated) { + if (!p->deps) { load_deps(p); - if ((mode & RTLD_LAZY)) { + if (!p->relocated && (mode & RTLD_LAZY)) { prepare_lazy(p); if (p->deps) for (i=0; p->deps[i]; i++) if (!p->deps[i]->relocated) |