[FreeBSD-Announce] Foundation Announces Project to Implement xlocale APIs

Deb Goodkin deb at freebsdfoundation.org
Fri Sep 16 14:26:55 UTC 2011

Dear FreeBSD Community,

The FreeBSD Foundation is pleased to announce that David Chisnall has 
been awarded a grant to implement xlocale APIs to enable porting libc++.

The C standard library (libc) is one of the most important parts of a 
UNIX system as most programs interact with the kernel through interfaces 
written in C.  Porting code between platforms with similar libc 
implementations is trivial and if something is supported by libc, 
higher-level languages can use it without being reimplemented.

Over time, the C language has slowly evolved to modern multicore 
systems, but there are still some places that are problematic. One of 
these is localization as  C began originally had no localization 
support. FreeBSD libc and Darwin libc (used by Mac OS X) are similar, 
making it much easier to port code from OS X to FreeBSD than from OS X 
to Linux. The libc used by OS X supports a set of extended locale 
functions (xlocale) that allow locale to be set on a per-thread basis.

Additionally, libc++, from the LLVM project, was originally developed on 
Darwin, so it uses xlocale for most of the C++ locale support.  The lack 
of this support is the primary obstacle to porting it to FreeBSD.

Once xlocale is supported in FreeBSD libc, we can port libc++ to 
FreeBSD, giving us an MIT-licensed C++11 standard library 
implementation.  This, in conjunction with Clang and libcxxrt, means 
that the entire C++ stack in FreeBSD will be free of any GNU code.  This 
leaves the linker as the only significant obstacle to a GPL-free FreeBSD 10.

The project will conclude the end of September 2011.

The FreeBSD Foundation

More information about the freebsd-announce mailing list