[llvm-dev] A libc in LLVM

Zachary Turner via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 27 16:45:07 PDT 2019


The difference seems to be that in Windows's version of libc (which they
dub "The CRT") you can't take one without the other.  You get program
startup and termination logic + everything else, and you can't pick and
choose.

On Thu, Jun 27, 2019 at 4:16 PM Siva Chandra <sivachandra at google.com> wrote:

>
> On Thu, Jun 27, 2019 at 3:56 PM Zachary Turner <zturner at roblox.com> wrote:
>
>> No, I do not think we want to mix up CRTs on any platform. At the
>>> least, it will be disruptive to the compiler drivers. Our goal is to
>>> build a CRT with supports statically linked executables on Linux. We
>>> do not intend to mix this new CRT with the CRT from the system libc.
>>> The new CRT might only be useful after a non-trivial part of the libc
>>> has been built. Until then, we have to use the CRT from the system
>>> libc.
>>>
>>
>
>> How would you perform redirection if both copies are not linked in?  Some
>> sort of out-of-process mechanism?  Or maybe I'm misunderstanding the nature
>> of the redirection you're referring to.
>>
>
> There is probably a difference in what we mean by CRT _and_ redirectors.
> Let me try to make my meaning clear.
>
> By CRT, I am referring to the [r]crt*.o files on Linux which handle
> program startup and termination logic. I do not know if CRT means something
> else on Windows.
>
> With respect to "redirectors", I do not want to get locked into an
> implementation discussion here, so let me just say that they are simply
> functions in the new libc which merely call into the system libc.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190627/168a388c/attachment.html>


More information about the llvm-dev mailing list