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