Hi,
On Mon, 22 Aug 2011, H.J. Lu wrote:
> > void __attribute__((constructor)) bla(void)
> > {
> > __cpu_indicator_init ();
> > }
> >
> > I don't see any complication.?
> >
>
> Order of constructors. A constructor may call functions
> which use __cpu_indicator.
That's why I wrote also:
> The initializer function has to be callable from pre-.init contexts, e.g.
> ifunc dispatchers.
It obviously has to be guarded against multiple calls. The ctor in libgcc
would be mere convenience because then non-ctor code can rely on the data
being initialized, and only (potential) ctor code has to check and call
the init function on demand.
Ciao,
Michael.