[C++] Avoid one place of frontend calling into targetm
Steve Ellcey
sje@cup.hp.com
Mon Jun 4 18:16:00 GMT 2007
> There are supposed to be just one global constructor function instead of
> possibly produced multiple of them before the patch. However it looks
> that in your case something went wrong (if there is no global
> constructor). The one visible to outer world should be produced by
> cgraph_build_static_cdtor, so it should not be too dificult to track
> down if it is done so.
>
> I will look into that, but unfortunately only after 8th, I am travelling
> now. Please remind me in case I forget (I will try not to do so)
>
> Honza
OK, In the mean time here is a bit more information, I think this is the
same as PR 31908 and may be related to PR 30151. I just noticed while
looking around some more that while _GLOBAL__I_c went from being global
to being static, there is a new global variable called _GLOBAL__I_0_c
that wasn't there before. _GLOBAL__I_0_c has a call to _GLOBAL__I_c, so
it looks like the bug is that the call from the code created by collect2
is using the static name, _GLOBAL__I_c, instead of the global name,
_GLOBAL__I_0_c.
Steve Ellcey
sje@cup.hp.com
More information about the Gcc-patches
mailing list