Jan Hubicka <hubi...@ucw.cz> writes:

> The problem is that GCC produce constructors/destructors at various places 
> and they all used to be called GLOBAL__I
> and GLOBAL__D.  Then in some cases (on targets that don't have global 
> ctors/dtors or with LTO and ctor/dtor merging)
> it actually collect them into single constructor function  called also 
> GLOBAL__I and GLOBAL__D.
> Since the first ones are static functions called by the actual constructor, 
> we get problem on targets not having
> ctors/dtors because collect2 collects even static symbols and attempts to 
> call them from main(). This is reason why
> I renamed them to be no longer recognized specially.

If I understand you, it sounds like they could have any name at all.
Just give them a name which doesn't start with _GLOBAL__.  Then there
won't be any problem.  Although you should still update the demangler to
do something sensible with them.

Ian

Reply via email to