fix ordering of shared library ctors with respect to libc init
[musl] / src / env / __libc_start_main.c
index ee10b0d..04a454e 100644 (file)
@@ -3,6 +3,7 @@
 
 void __init_tls(size_t *);
 void __init_security(size_t *);
+void __init_ldso_ctors(void);
 
 #define AUX_CNT 38
 
@@ -37,6 +38,10 @@ int __libc_start_main(
        /* Execute constructors (static) linked into the application */
        if (init) init(argc, argv, envp);
 
+#ifdef SHARED
+       __init_ldso_ctors();
+#endif
+
        /* Pass control to to application */
        exit(main(argc, argv, envp));
        return 0;