[LLVMdev] Compiling glibc with clang/LLVM
Kostya Serebryany
kcc at google.com
Mon Sep 29 14:31:09 PDT 2014
On Mon, Sep 29, 2014 at 11:38 AM, Alexey Samsonov <vonosmas at gmail.com>
wrote:
> +kcc
>
> AFAIU there are recent improvements in building glibc with Clang. Kostya,
> what is the current status of building upstream glibc?
>
glibc still doesn't build with clang, but the number of reasons is becoming
less.
No ETA yet, I am doing this work in background.
--kcc
>
> On Mon, Sep 29, 2014 at 9:33 AM, Sahoo, Swarup Kumar <ssahoo2 at illinois.edu
> > wrote:
>
>> Hi Joshua,
>>
>> uClibc can be compiled with clang. You can try to use it if it works
>> for you.
>>
>> Thanks,
>> Swarup.
>>
>> ------------------------------
>> *From:* llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on
>> behalf of Joshua Tuttle [jtuttle at i-a-i.com]
>> *Sent:* Monday, September 29, 2014 9:28 AM
>> *To:* llvmdev at cs.uiuc.edu
>> *Subject:* [LLVMdev] Compiling glibc with clang/LLVM
>>
>> Hey all,
>>
>>
>>
>>
>> I was wondering if clang/LLVM has support to compile glibc in its
>> entirety? The only thing I could find of recent was this thread saying the
>> only way it could really be done is to use the dragonegg plugin with gcc...
>>
>> https://groups.google.com/forum/#!topic/llvm-dev/pmZYVNTrVYQ
>>
>>
>>
>>
>>
>>
>>
>>
>> * [LLVMdev] clang/llvm with glibc*
>> *8 posts by 5 authors*
>> *Dave Buehmann*
>> *6/5/13*
>> *Other recipients: **llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>*
>>
>> *This question has been asked occasionally with no positive responses.*
>>
>> *Has anybody had success compiling glib with clang/llvm? If so, can you
>> share any details?*
>>
>> *If not, are there any good libc replacements with more complete
>> functionality than newlib?*
>>
>> *Thanks, dave*
>> *JF Bastien*
>> *6/5/13*
>> *Other recipients: **db.... at gmail.com <db.... at gmail.com>,
>> mcgr... at google.com <mcgr... at google.com>, llv... at cs.uiuc.edu
>> <llv... at cs.uiuc.edu>*
>>
>> *Roland says the main blocker for now is support for nested functions, he
>> thinks the rest should be straightforward. *
>>
>> *There was apparently a post to the glibc mailing list about this. *
>> *- show quoted text -*
>>
>>> *- show quoted text -*
>>> *______________________________**_________________*
>>> *LLVM Developers mailing list*
>>> *LLV... at cs.uiuc.edu* *http://llvm.cs.uiuc.edu*
>>> <http://llvm.cs.uiuc.edu>
>>> *http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev*
>>> <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>>>
>>> *Peter Collingbourne*
>> *6/5/13*
>> *Other recipients: **db.... at gmail.com <db.... at gmail.com>,
>> llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>*
>> *- show quoted text -*
>> *It is (almost) possible to compile glibc using DragonEgg -- there *
>> *are only a handful of patches required (for LLVM and DragonEgg), *
>> *most of which are now up for review. *
>>
>> *It builds, and most of glibc's test suite currently passes, except *
>> *for some tests that deal with floating point arithmetic, and some *
>> *tests which use very obscure GNU as features which I haven't seen *
>> *used outside the glibc test suite. *
>>
>> *Hopefully within a month or so everything should be upstreamed, but *
>> *if you're itching for something that works now I can try to find some *
>> *time to send some WIP patches and instructions. *
>>
>> *Thanks, *
>> *-- *
>> *Peter *
>> *- show quoted text -*
>> *Reid Kleckner*
>> *6/5/13*
>> *Other recipients: **j... at google.com <j... at google.com>,
>> llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>, mcgr... at google.com
>> <mcgr... at google.com>*
>> *Here's a clang bug I filed long ago for it that was closed wontfix:*
>> *http://llvm.org/bugs/show_bug.**cgi?id=9206*
>> <http://llvm.org/bugs/show_bug.cgi?id=9206>
>> *- show quoted text -*
>> *Dave Buehmann*
>> *6/6/13*
>> *Other recipients: **llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>*
>> *Thanks Peter, *
>>
>> *I'll try that path and follow up with you for the patches when I get to
>> that *
>> *point *
>>
>> *Best, dave *
>>
>>
>>
>> *-- *
>> *View this message in context: **http://llvm.1065342.n5.nabble.*
>> *com/clang-llvm-with-glibc-**tp58309p58336.html*
>> <http://llvm.1065342.n5.nabble.com/clang-llvm-with-glibc-tp58309p58336.html>
>> *Sent from the LLVM - Dev mailing list archive at Nabble.com. *
>> *- show quoted text -*
>> *Rafael Espíndola*
>> *6/7/13*
>> *Other recipients: **pe... at pcc.me.uk <pe... at pcc.me.uk>,
>> llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>*
>> *> It is (almost) possible to compile glibc using DragonEgg -- there *
>> *> are only a handful of patches required (for LLVM and DragonEgg), *
>> *> most of which are now up for review. *
>> *> *
>> *> It builds, and most of glibc's test suite currently passes, except *
>> *> for some tests that deal with floating point arithmetic, and some *
>> *> tests which use very obscure GNU as features which I haven't seen *
>> *> used outside the glibc test suite. *
>> *> *
>> *> Hopefully within a month or so everything should be upstreamed, but *
>> *> if you're itching for something that works now I can try to find some *
>> *> time to send some WIP patches and instructions. *
>>
>> *This is amazing! *
>>
>> *What are you guys doing about -fno-toplevel-reorder? *
>>
>> *Cheers, *
>> *Rafael *
>> *- show quoted text -*
>> *Peter Collingbourne*
>> *6/7/13*
>> *Other recipients: **rafael.e... at gmail.com <rafael.e... at gmail.com>,
>> llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>*
>> *On Fri, Jun 07, 2013 at 11:48:03AM -0400, Rafael Espíndola wrote: *
>> *> > It is (almost) possible to compile glibc using DragonEgg -- there *
>> *> > are only a handful of patches required (for LLVM and DragonEgg), *
>> *> > most of which are now up for review. *
>> *> > *
>> *> > It builds, and most of glibc's test suite currently passes, except *
>> *> > for some tests that deal with floating point arithmetic, and some *
>> *> > tests which use very obscure GNU as features which I haven't seen *
>> *> > used outside the glibc test suite. *
>> *> > *
>> *> > Hopefully within a month or so everything should be upstreamed, but *
>> *> > if you're itching for something that works now I can try to find
>> some *
>> *> > time to send some WIP patches and instructions. *
>> *> *
>> *> This is amazing! *
>> *> *
>> *> What are you guys doing about -fno-toplevel-reorder? *
>>
>> *I haven't done anything about this flag, to be honest. From looking *
>> *at glibc's git HEAD it seems to currently be only used by two files *
>> *-- siglist.c and errlist.c -- and maybe I'm missing something but I *
>> *can't see any reason why either of these files now need it (in the *
>> *past these files seem to have contained some assembly but now *
>> *only contain straight C declarations). It also seems to have been used *
>> *in the past by initfini.c but that file is now gone from glibc git. *
>>
>> *Thanks, *
>> *-- *
>> *Peter *
>> *- show quoted text -*
>> *Rafael Espíndola*
>> *6/7/13*
>> *Other recipients: **pe... at pcc.me.uk <pe... at pcc.me.uk>,
>> llv... at cs.uiuc.edu <llv... at cs.uiuc.edu>*
>> *>> What are you guys doing about -fno-toplevel-reorder? *
>> *> *
>> *> I haven't done anything about this flag, to be honest. From looking *
>> *> at glibc's git HEAD it seems to currently be only used by two files *
>> *> -- siglist.c and errlist.c -- and maybe I'm missing something but I *
>> *> can't see any reason why either of these files now need it (in the *
>> *> past these files seem to have contained some assembly but now *
>> *> only contain straight C declarations). It also seems to have been
>> used *
>> *> in the past by initfini.c but that file is now gone from glibc git. *
>>
>> *I went looking in glibc's git and found *
>> *3add8e1353d62d77fdd9b4ca363cdf*
>> *e7006b0efb adding support for crti and *
>> *crtn written is assembly, which eventually replaced the old initfini.c *
>> *hack. *
>>
>> *Congratulations to all those involved, this a much better state than I *
>> *would have dreamed possible some years ago. *
>>
>> *Cheers, *
>> *Rafael *
>> *- show quoted text -*
>>
>>
>>
>>
>>
>> Is there any way to compile glibc only using clang as I have to be able
>> to pass clang specific parameters for a pass to run on each file.
>>
>>
>>
>> Thanks,
>>
>> Josh
>>
>>
>>
>> ------------------------------
>> This message and all attachments are PRIVATE, and contain information
>> that is PROPRIETARY to Intelligent Automation, Inc. You are not authorized
>> to transmit or otherwise disclose this message or any attachments to any
>> third party whatsoever without the express written consent of Intelligent
>> Automation, Inc. If you received this message in error or you are not
>> willing to view this message or any attachments on a confidential basis,
>> please immediately delete this email and any attachments and notify
>> Intelligent Automation, Inc.
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>
>
> --
> Alexey Samsonov
> vonosmas at gmail.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140929/307eab3a/attachment.html>
More information about the llvm-dev
mailing list