On Aug 25, 2011, at 6:02 PM, H.J. Lu wrote: > On Thu, Aug 25, 2011 at 5:37 PM, Sriraman Tallam <tmsri...@google.com> wrote: >> >> 1) Make __cpu_indicator_init a constructor in libgcc and guard to call >> it only once. > > This is unreliable and you don't need 3 symbols from libgcc.
I'll add that once you start adding ctors, it is hard to impossible to ever get rid of them, and some people actually care about start up time and have static warnings for any code that has _any_ global constructors. By having it hidden behind an api, at least only that that want it, pay the price for it.