Import widechar support from FreeBSD

Matthew Dillon dillon at
Mon Nov 1 09:52:38 PST 2004

:On Mon, Oct 25, 2004 at 10:15:20PM -0000, Andreas Hauser wrote:
:> Hoi,
:> these patches add widechar support from FreeBSD and
:> also remove deprecated stuff that is to be removed in FreeBSD 6.
:> Most rune stuff and utf2 is killed.
:> The only thing that is missing is contrib/gdtoa,
:> which provides wcstof and wcstold.
:After looking at both FreeBSD's and NetBSD's multibyte support, I want
:to express that I don't like the static inclusion at all. NetBSD's
:citrus derived source does a dlopen of the modules, which isn't
:_currently_ supported for static binaries. But adding a hack for that
:is easier than to include all supported character sets into any static
:binary using wide character support. Besides, once we have a minimal
:dlopen implementation for static binaries, it will work much better.
:I'm currently working on getting the Citrus code ready for inclusion.
:One important problem is that because of how FreeBSD 4 historically
:handled e.g. ctype macros, I will have to create some compatibility
:functions to keep the ABI intact. I don't want to bump libc's major
:at this time.

    I agree.  If we are going to do this we either need DLL support for static
    binaries, or we need an IPC mechanism with a local service to serve the
    material out (and have the programs still work if the service is down).
    There are no other workable solutions in my view.  Even with DLL support
    I dread what would happen if the DLL became incompatible with critical
    static binaries.

    The static dll issue is what the FreeBSD guys used as an excuse (and
    I really do mean that in the nastiest way) to make their /bin and /sbin
    dynamically linked, which then led to the whole /rescue mess.  We are
    *NOT* doing that.  Our /bin and /sbin are going to remain static by
    default, no matter what.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Submit mailing list