[cfe-dev] What are the plans for creating a Windows Binary Release of Clang?

Sean Silva silvas at purdue.edu
Mon Nov 11 13:17:44 PST 2013


On Mon, Nov 11, 2013 at 3:30 PM, Devin Crumb <bitogre at gmail.com> wrote:

> I am definitely interested in contributing to such an effort and fully
> support the idea of trying to make an LLVM libc as cross platform as
> possible (and have some experience in this area).  However, I want to
> understand what is going to be expected of me if I am the one to actually
> start the effort before taking on such a commitment.
>

Any significant new block of code will generally require a long-term
maintenance commitment. However, for a libc I'm sure there are a bunch of
things to do that don't require as much of a commitment. In particular, I
think it would be useful to pin down the following:

* Try to explore the realistic benefits of having our own libc. I'm not
entirely convinced that having our own libc will be a huge win, or at least
not enough to justify the huge amount of work it would entail. We seem to
get along just fine (?; at least in my experience) without having to "own"
the libc. What are the "pain points" that would be soothed by having our
own libc, and on what platforms?

* Survey existing libc's and write-up their current portability situation,
licensing, implementation quality, etc. Off the top of my head, some libc's
that I know about: musl, uclibc, bionic, glibc, {Free,Open,Net,...}BSD's
libc, OpenSolaris (illumos) libc. Is it really necessary to roll our own,
or can one of these existing ones be adapted to soothe the biggest "pain
points"?

* How realistic is it to implement a windows libc? A couple things that
come to mind are:
  - What is the "lowest level" interface that the libc is going to be built
on top of (I'm clueless about windows, but for example Linux has a
documented and stable syscall ABI, which is trivial to interoperate with;
is there an equivalent of that on Windows? or Mac?)
  - Are those interfaces stable and documented?

* What are the goals of our own libc? Is it a goal to eventually be able to
build Debian with our libc? What is the end-goal for this library on Apple
platforms? On Windows? etc.

* As Chandler mentioned, really any such project will have to be
cross-platform to be of any interest. What are the use cases on each
platform? E.g. is this something that Apple is willing to get behind on
Darwin? I don't think we expect any involvement from Microsoft, but what
Windows users would be interested in this? (also, how many "hacks" are
there in the regular Windows libc that we would have to emulate in order to
build nontrivial existing apps?). On Linux there are already a number of
good libc's that can be built from source and/or modified to your heart's
desire so I'm not sure how much we would gain there. I'm not sure any of
the BSD's are going to be interested in replacing their libc with something
"foreign". Trying to be "cross-platform" would be mostly for show if most
of the platforms are not interested in being supported and/or the library
really only brings significant "benefits" on a single platform.

-- Sean Silva


>
> Devin Crumb
>
>
> On Mon, Nov 11, 2013 at 2:55 PM, Chandler Carruth <chandlerc at google.com>wrote:
>
>>
>> On Mon, Nov 11, 2013 at 11:53 AM, Marshall Clow <mclow.lists at gmail.com>wrote:
>>
>>> On Nov 11, 2013, at 11:24 AM, Chandler Carruth <chandlerc at google.com>
>>> wrote:
>>>
>>>
>>> On Mon, Nov 11, 2013 at 11:20 AM, Devin Crumb <bitogre at gmail.com> wrote:
>>>
>>>> Does Clang have C headers and C libraries for Unix that I can port to
>>>> Windows or do I need to start from scratch?
>>>
>>>
>>> No, Clang does not include any thing from libc at this point.
>>>
>>> If you are seriously interested in starting one, there might be serious
>>> interest in it being a designated LLVM project. I would start a separate
>>> email thread on that subject if you want to pursue it as part of the LLVM
>>> project. I'm happy to point you at some of the folks that should be part of
>>> such a discussion.
>>>
>>>
>>> I'd like to encourage you to do this.
>>> It's not a small undertaking, though.
>>>
>>
>> FWIW, I too would like to see a libc as part of the LLVM project. =]
>> That's why I offered to help connect interested parties. I think there is a
>> lot of interest in this, but it would be a massive undertaking. I'm also
>> only really interested if it sets out from the beginning to be nicely cross
>> platform.
>>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131111/327c169f/attachment.html>


More information about the cfe-dev mailing list