Subject: Re: C++ q: constructors not called for classes in shared lib ?
To: Frank van der Linden <>
From: Jaromir Dolecek <>
List: current-users
Date: 02/02/1999 16:00:21
Frank van der Linden wrote:
> For NetBSD ports that use a.out, global constructors are not automagically
> initialized when using a shared library made out of C++ code. This
> is because the appropriate calls plus a .ini section that contains
> them are not present.

Well, it's not present because it's not possible or just because
nobody added them (the latter is quite unlikely, I guess) ?
If the former, why ?

> To make this work, you will need to include a .o file that takes care
> of this when creating the shared library. This is done for the
> "system" C++ shared libraries (i.e. libstdc++). The .o file in question
> is /usr/lib/c++rt0.o.

Is there any (semi-)automatic way how to find out if it's needed or not ?
It's not in any CXXFLAGS or something -- at least quick grep 
through /usr/shake/mk/* & /usr/pkgsrc/mk/* didn't reveal anything ...

Jaromir Dolecek <>
It is better never to have been born.  But who among us has such luck?
One in a million, perhaps.