From 326e85eca6916eb904649f7bff65244a40088ba7 Mon Sep 17 00:00:00 2001 From: Kito Cheng Date: Sun, 15 Jul 2012 00:49:27 +0800 Subject: [PATCH] linker: Fix LD_PRELOADS for calling constructors Change-Id: I1eae77a4c59e8a5acc009127d271455bb6fc01b6 --- linker/linker.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/linker/linker.c b/linker/linker.c index 54fb22b22..8d4efaf57 100644 --- a/linker/linker.c +++ b/linker/linker.c @@ -1649,6 +1649,7 @@ static unsigned __linker_init_post_relocation(unsigned **elfdata) 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 @@ sanitize: exit(-1); } + for(i = 0; preloads[i] != NULL; i++) { + soinfo_call_constructors(preloads[i]); + } + soinfo_call_constructors(si); #if ALLOW_SYMBOLS_FROM_MAIN