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