On AIX global C++ constructors are run in the order that modules are loaded at runtime. It does not take into account dependencies between the modules. e.g. if MAIN depends on LIB1, the global constructors in MAIN are run before the global constructors for LIB1.
It is expected that global C++ constructors in a linked library are run before constructors in modules that depend on these libraries. e.g. if MAIN depends on LIB1, it is expected that constructors in LIB1 are run before the constructors for MAIN. -- Summary: AIX runs c++ constructors in incorrect order Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ajd at gentrack dot com GCC target triplet: powerpc-ibm-aix5.2.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33704