[libc-dev] mlibc - an existing libc with similar goals to LLVM libc

David Finkelstein via libc-dev libc-dev at lists.llvm.org
Mon Dec 6 16:16:29 PST 2021


On Mon, Dec 6, 2021 at 3:18 PM Siva Chandra via libc-dev <
libc-dev at lists.llvm.org> wrote:

> On Mon, Dec 6, 2021 at 1:19 PM Geert Custers via libc-dev <
> libc-dev at lists.llvm.org> wrote:
>
>> Dear,
>>
>> My name is Geert Custers, a core contributor to mlibc. mlibc is a fully
>> portable C library, written in C++. The library has a design focus on
>> portability and modularity, it is as platform agnostic as it can be. We
>> have a Linux port as well as many other hobby OS ports. Hobby OS's are
>> not the primary motivation for mlibc, but the ports serve as a
>> compelling demonstration of the portability and modularity of mlibc.
>> While learning about the LLVM libc project, it occured to us that the
>> goals of mlibc and LLVM libc are almost exactly aligned.
>>
>> Given our common interests, it seems beneficial for both mlibc and
>> LLVM libc to possibly collaborate. As we speak, mlibc has a variety of
>> POSIX/Linux/ANSI features implemented, and we are able to run a large
>> collection of Linux/POSIX programs, such as XOrg, Weston, GCC, Clang,
>> GNU Bash, GTK2 and 3 and many more. We accomplish all this while still
>> remaining fully portable, assuming very little about the host syscall
>> interface. Some notable features include a dynamic linker, and an
>> incomplete, but extensive pthread library. However we are still missing
>> many things, such as for example an implementation of POSIX regex.
>>
>> We would be very interested to hear your thoughts on a possible
>> collaboration.
>>
>
> tl;dr - The development LLVM libc is under the LLVM umbrella in the open.
> That makes LLVM libc also open for collaboration by default :)
>
> That said, it will help if you can elaborate more about what you mean by
> "collaboration". LLVM libc is in early stages. However, few downstream
> users have already started using the parts available in production. Our
> focus areas for the near future are the pthread library, stdio and
> finishing the math library.
>

Hi Geert,

Thanks for reaching out!

Like Siva I would be interested in knowing if there were particular areas
of collaboration you were interested in.  The licenses between the two
repositories are not compatible, so we can't do direct sharing of code.
But some thoughts that come to my mind are more about information sharing;
e.g.

- Understanding what each others' main use cases are
- Understanding what pain points each of us have encountered
- How we approach testing and validation (e.g. "Here are some tricky things
we've found you have to deal with when you are validating double-precision
math libraries")

Basically things that fall into "If you are building a libc from scratch,
here are things that get encountered along the way that you need to think
about."

Regards,



> With kind regards,
>> Geert Custers and the rest of The Managarm Project.
>> _______________________________________________
>> libc-dev mailing list
>> libc-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev
>>
> _______________________________________________
> libc-dev mailing list
> libc-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libc-dev/attachments/20211206/0f31b8a2/attachment.html>


More information about the libc-dev mailing list