GCC uses a different and incompatible way of registering global constructors. Instead of trying to port it, you should rewrite it accordingly to the ABI used by GCC.
For the gory details, consult e.g. libgcc/crtstuff.c
and libgcc/gbl-ctors.h
in GCC source tree.