argv preparation will have to load the vdso compatibility
library and set it's address into the auxv part of argv
_before_ loading the actual program .so.

Signed-off-by: Benoît Canet <[email protected]>
---
 core/app.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/core/app.cc b/core/app.cc
index c76b168..773d80e 100644
--- a/core/app.cc
+++ b/core/app.cc
@@ -173,6 +173,7 @@ application::application(const std::string& command,
         }
 
         merge_in_environ(new_program, env);
+       prepare_argv();
         _lib = current_program->get_library(_command);
     } catch(const std::exception &e) {
         throw launch_error(e.what());
@@ -346,8 +347,6 @@ void application::run_main()
 {
     trace_app_main(this, _command.c_str());
 
-    prepare_argv();
-
     // make sure to have a fresh optind across calls
     // FIXME: fails if run() is executed in parallel
     int old_optind = optind;
-- 
2.7.4

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to