linker: Fix LD_PRELOADS for calling constructors
Change-Id: I1eae77a4c59e8a5acc009127d271455bb6fc01b6
diff --git a/linker/linker.c b/linker/linker.c
index 54fb22b..8d4efaf 100644
--- a/linker/linker.c
+++ b/linker/linker.c
@@ -1649,6 +1649,7 @@
unsigned *vecs = (unsigned*) (argv + argc + 1);
unsigned *v;
soinfo *si;
+ int i;
struct link_map * map;
const char *ldpath_env = NULL;
const char *ldpreload_env = NULL;
@@ -1790,6 +1791,10 @@
exit(-1);
}
+ for(i = 0; preloads[i] != NULL; i++) {
+ soinfo_call_constructors(preloads[i]);
+ }
+
soinfo_call_constructors(si);
#if ALLOW_SYMBOLS_FROM_MAIN