Merge "linker: Fix LD_PRELOADS for calling constructors"
diff --git a/linker/linker.c b/linker/linker.c
index 753ee89..b96e072 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;
@@ -1791,6 +1792,10 @@
         exit(-1);
     }
 
+    for(i = 0; preloads[i] != NULL; i++) {
+        soinfo_call_constructors(preloads[i]);
+    }
+
     soinfo_call_constructors(si);
 
 #if ALLOW_SYMBOLS_FROM_MAIN