Use the gcc attribute to keep constructors alive. This is what i'm using, there might be a better way than even this.
A* a = nullptr;
// gcc constructor to get the
// A instance created unconditionally.
__attribute__((constructor)) void __init_data() {
a = new A();
}