Is there any open roadmap/todolist for llvm-libc?

Hi,
I am new to the LLVM project but I really want to get involved into llvm-libc project. Previously when I asked about it on Discord, someone said it was still in planning phase; but recently I have seen a lot progresses around libc. So I wander if there is any guideline/todolist I can follow to make contributions to the project?

Hello,

Thanks for your interest, and we’d love to have more contributors to the libc project. The libc project is well beyond the planning phase, and we’re currently working on implementing the functions that people need. We don’t really have a public roadmap right now, but the general goal is to finish implementing the list of functions that libc needs. You can read more about which functions we have and are working on at https://libc.llvm.org/ (in the status section). If there’s a specific area you’re interested I can probably point you in the right direction for where to start.

Hope this helps,
Michael

1 Like

In addition to implementing libc functions, you can also help by improving the support surface of the libc (e.g. Windows, RISC-V, embedded environments which want to optimize for size over performance, etc.).

Is there a particular area you are interested in?

I’d also love to know what you’d love to see more of at the libc.llvm.org site. I know what the current devs want from the site, but I’m not sure what questions a prospective dev has.

Thanks!

As @michaelrj-google has pointed out, the goal is to make the libc good enough and wide enough to be a drop-in replacement for other popular libcs. So, while we have made a lot of progress, a lot still needs to be done. If you are looking for something small to start with, I recommend starting with linux implementation of syscall wrappers. There are some trivial wrappers that you can pick up, for example the POSIX kill function which can be implemented as a trivial syscall wrapper on Linux. If you are looking for more involved areas, then one area still not tackled is random number generation and related functions. If delving in to build systems interests you, then one area to look into would be about putting together an LLVM only toolchain including the libc.

Feel free to ask questions about these topics and we will be happy to answer/guide/help.

llvm.org has a section of open projects. Maybe something similar could help you to draw more attention.

1 Like