Not providing static libraries (libkse/libpthread)
Daniel Eischen
eischen at pcnet1.pcnet.com
Wed Mar 26 22:22:02 PST 2003
On Wed, 26 Mar 2003, M. Warner Losh wrote:
> In message: <20030326214421.GF11320 at dhcp01.pn.xcllnt.net>
> Marcel Moolenaar <marcel at xcllnt.net> writes:
> : On Wed, Mar 26, 2003 at 04:04:42PM -0500, Daniel Eischen wrote:
> : >
> : > Also, in a lot of functions, there are:
> : >
> : > if (_thread_initial == NULL)
> : > _thread_init();
> : >
> : > I'd like to be able to get rid of these eventually and perhaps have
> : > some magical way of getting it called automatically when the library
> : > is loaded.
> :
> : You may be able to piggyback on the C++ static object initialization
> : by utilizing _init() and _fini(). I don't think archive is different
> : from shared in that respect for C (ie they both don't have what _init()
> : provides and have _fini() in terms for atexit()). But it works in both
> : cases if you add some C++ related magic (See also the .init and .fini
> : ELF sections).
>
> Yes. I was going to make that same point. C++ static object init
> always happens, static or dynamic. And has since FreeBSD has
> supported ELF...
OK, since there seems to be some objections, I'll withdraw
the proposition. Other reasons may develop later on, but
I'll shelve the idea for now.
Thanks for everyone's input :)
--
Dan Eischen
More information about the freebsd-arch
mailing list