New nvidia drivers available

Justin T. Gibbs gibbs at scsiguy.com
Sun Aug 15 08:16:07 PDT 2004


>> I thought that static constructor invocation was deterministic based
>> on link order.  Does the C++ spec really indicate that the order of
>> construction can be random?
> 
> I don't think the spec places any restrictions on constructor ordering. 
> The problem here is that you get different behaviour depending on 
> whether you link with libGL first followed by libpthread (in that case 
> libpthread initialises first) or if you link in the other order (in 
> which case libGL initialises first). As far as I can see, rtld calls 
> the _init sections of each shared library in reverse order with the 
> last library linked against being initialised first.

But such ordering restrictions also apply to things like weak symbols,
so I don't think that imposing a link order restriction to solve
this issue is really a problem.

>From my Microsoft days, I know that at least PowerPoint took advantage
of the known order of static constructor invocation.  The splash screen
was executed from a static constructor in the first .o linked into the
executable.  I'm just curious if this is something the C++ spec says
anything about.  I'd be surprised if it didn't.

--
Justin



More information about the freebsd-current mailing list