The answer here demonstrates that __attribute__((constructor)) is not called after static initialization, it is called in the declaration order.
Then, w
Can you implement a "construct on first use" pattern for this global?
e.g.
Magic& gMagic() { static Magic magic; return magic; }
It will get built after all regular static ctors, but before any regular code needs it.