<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi,</div><div><br></div><div>What happened since you committed the doc? Is this now graduated from a "proposal to start a project" to a project?<br></div><div>Is there any update to be made to the doc: <a href="http://llvm.org/docs//Proposals/LLVMLibC.html">http://llvm.org/docs//Proposals/LLVMLibC.html</a> ?</div><div dir="ltr"><br></div><div>Thanks,</div><div><br></div>-- </div><div dir="ltr">Mehdi</div><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 16, 2019 at 3:05 PM Siva Chandra via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello again,</div><div><br></div><div>I would like to announce that we now have dedicated mailing lists for the llvm-libc project:</div><div><br></div><div>1. libc-dev - <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev</a></div><div>2. libc-commits - <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-commits" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-commits</a></div><div><br></div><div>A brief README.txt and LICENSE.txt have been added: <a href="https://github.com/llvm/llvm-project/tree/master/libc" target="_blank">https://github.com/llvm/llvm-project/tree/master/libc</a></div><div><br></div><div>I will soon share or put out design docs and code for review, as suitable.</div><div><br></div><div>Thanks,</div><div>Siva Chandra</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 15, 2019 at 11:23 AM Siva Chandra <<a href="mailto:sivachandra@google.com" target="_blank">sivachandra@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hello again,<br>
<br>
I have now committed a proposal for this new libc:<br>
<a href="https://reviews.llvm.org/D64939" rel="noreferrer" target="_blank">https://reviews.llvm.org/D64939</a>. This proposal is based on the charter<br>
I shared previously (see below).<br>
<br>
Though it is now committed, if there are any concerns still, I am open<br>
to iterating until the community in general is satisfied with the<br>
proposal.<br>
<br>
Thanks,<br>
Siva Chandra<br>
<br>
On Fri, Jul 12, 2019 at 8:15 AM Siva Chandra <<a href="mailto:sivachandra@google.com" target="_blank">sivachandra@google.com</a>> wrote:<br>
> "llvm-libc" C Standard Library<br>
> ========================<br>
><br>
> llvm-libc is an implementation of the C standard library targeting C11<br>
> and above. It also provides platform specific extensions as relevant.<br>
> For example, on Linux it also provides pthreads, librt and other POSIX<br>
> extension libraries.<br>
><br>
> Documentation<br>
> ============<br>
><br>
> The llvm-libc project is still in the planning phase. Stay tuned for<br>
> updates soon.<br>
><br>
> Features and Goals<br>
> ================<br>
><br>
> * C11 and upwards conformant.<br>
> * A modular libc with individual pieces implemented in the "as a<br>
> library" philosophy of the LLVM project.<br>
> * Ability to layer this libc over the system libc.<br>
> * Provide C symbols as specified by the standards, but take advantage<br>
> and use C++ language facilities for the core implementation.<br>
> * Provides POSIX extensions on POSIX compliant platforms.<br>
> * Provides system-specific extensions as appropriate. For example,<br>
> provides the Linux API on Linux.<br>
> * Vendor extensions if and only if necessary.<br>
> * Designed and developed from the start to work with LLVM tooling and<br>
> testing like fuzz testing and sanitizer-supported testing.<br>
> * ABI independent implementation as far as possible.<br>
> * Use source based implementations as far possible rather than<br>
> assembly. Will try to “fix” the compiler rather than use assembly<br>
> language workarounds.<br>
><br>
> Why a new C Standard Library?<br>
> =========================<br>
><br>
> Implementing a libc is no small task and is not be taken lightly. A<br>
> natural question to ask is, "why a new implementation of the C<br>
> standard library?" There is no single answer to this question, but<br>
> some of the major reasons are as follows:<br>
><br>
> * Most libc implementations are monolithic. It is a non-trivial<br>
> porting task to pick and choose only the pieces relevant to one's<br>
> platform. The new libc will be developed with sufficient modularity to<br>
> make picking and choosing a straightforward task.<br>
> * Most libc implementations break when built with sanitizer specific<br>
> compiler options. The new libc will be developed from the start to<br>
> work with those specialized compiler options.<br>
> * The new libc will be developed to support and employ fuzz testing<br>
> from the start.<br>
> * Most libc implementations use a good amount of assembly language,<br>
> and assume specific ABIs (may be platform dependent). With the new<br>
> libc implementation, we want to use normal source code as much as<br>
> possible so that compiler-based changes to the ABI are easy. Moreover,<br>
> as part of the LLVM project, we want to use this opportunity to fix<br>
> performance related compiler bugs rather than using assembly<br>
> workarounds.<br>
> * A large hole in the llvm toolchain will be plugged with this new<br>
> libc. With the broad platform expertise in the LLVM community, and the<br>
> strong license and project structure, we think that the new libc will<br>
> be more tunable and robust, without sacrificing the simplicity and<br>
> accessibility typical of the LLVM project.<br>
><br>
> Platform Support<br>
> ==============<br>
><br>
> llvm-libc development is still in the planning phase. However, we<br>
> envision that it will support a variety of platforms in the coming<br>
> years. Interested parties are encouraged to participate in the design<br>
> and implementation, and add support for their favorite platforms.<br>
><br>
> Current Status<br>
> ============<br>
><br>
> llvm-libc development is still in the planning phase.<br>
><br>
> Build Bots<br>
> =========<br>
><br>
> Coming soon.<br>
><br>
> Get involved!<br>
> ===========<br>
><br>
> First please review our Developer's Policy. Stay tuned for llvm-libc<br>
> specific information.<br>
><br>
> Design Documents<br>
> ===============<br>
><br>
> Coming soon.<br>
</blockquote></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div></div></div>