Announcement

Collapse
No announcement yet.

Building Gentoo Linux With LLVM/Clang

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    A question...

    I've always been curious about Intel's ICC. Aside from the generic optimization techniques, when it comes to architecture-specific optimization, being the architecture's architectures imply they could easily do a better job at producing faster code (at least for Intel's chips), right? and, although it is proprietary, it seems to have very advanced features and overall seems very interesting.
    Maybe someone with more knowledge can comment on this.

    Comment


    • #22
      Originally posted by Sergio View Post
      I've always been curious about Intel's ICC. Aside from the generic optimization techniques, when it comes to architecture-specific optimization, being the architecture's architectures imply they could easily do a better job at producing faster code (at least for Intel's chips), right? and, although it is proprietary, it seems to have very advanced features and overall seems very interesting.
      Maybe someone with more knowledge can comment on this.
      If you search on Gentoo forum you will find some people using ICC.

      Comment


      • #23
        Originally posted by ninez View Post
        Why even ask this, when you have already visited the website, which provides details, including where to grab the tools/patches required? if you are really that curious, wouldn't it makes sense to have a look? ; git clone http://git.linuxfoundation.org/llvm-setup.git

        this git branch takes 2 seconds to download, and shows you what patches are required (not only for the kernel, but also Clang and LLVM). it also provides a README that explains how to use llvm-setup for building an Clang/LLVM-compiled kernel....as for patches required;

        51 patches for x86_64 (itself)
        7 patches for LLVM
        2 patches for Clang

        plus other scripts / tools such as wrappers to allow clang/LLVM to substitute for GCC (not unlike the initial patches from LinuxDNA for Intel's C compiler, ICC - from a few years ago).... Now, i would imagine the second you tried to compile a more custom kernel, ie: patched for other things ...or started enabling features that have been disabled in their 'test' configs ~ you would probably run into a lot of other problems.
        I imagine that much of the popular out-of-tree code will receive testing by their respective Gentoo maintainers once people have Clang compiling kernels in Gentoo. The only exception to this would be the GRSecurity/PaX patches. They rely on GCC-specific functionality that does not currently exist in Clang.

        Anyway, it is unlikely that any of this will happen quickly. Developer time is limited. Patches are always welcome.
        Last edited by ryao; 21 August 2012, 01:26 AM.

        Comment


        • #24
          I have this feeling that apart from Apple, FreeBSD and Phoronix nobody really cares about llvm. People toying around with it? Great, they toyed around with lots of c-compilers in the past. Most of them forgotten by now.

          Comment


          • #25
            Originally posted by energyman View Post
            I have this feeling that apart from Apple, FreeBSD and Phoronix nobody really cares about llvm. People toying around with it? Great, they toyed around with lots of c-compilers in the past. Most of them forgotten by now.
            You may need to qualify that a bit, as LLVM sees fairly broad usage outside of kernel compilation.


            F

            Comment


            • #26
              and now try to assemble a list for gcc or icc and see that llvm isn't really such big news.

              Comment


              • #27
                Originally posted by ryao View Post
                I imagine that much of the popular out-of-tree code will receive testing by their respective Gentoo maintainers once people have Clang compiling kernels in Gentoo. The only exception to this would be the GRSecurity/PaX patches. They rely on GCC-specific functionality that does not currently exist in Clang.
                I wasn't only talking about the out-of-tree code, but also in-tree-code (with my comment on the 'default' kernel config, anyway.) But i agree once people start making use of this (clang/llvm kernel) stuff, testing will find it's way into the out-of-tree stuff. After all, the work has to begin somewhere

                Originally posted by energyman View Post
                I have this feeling that apart from Apple, FreeBSD and Phoronix nobody really cares about llvm. People toying around with it? Great, they toyed around with lots of c-compilers in the past. Most of them forgotten by now.
                Aside from the link russofris listed, there seem to be lots of people using clang/llvm not necessarily as their 'target' compiler, but in helping to debug code via tools that use the llvm infrastructure (Coverity, Clang's analyzer, etc), as they do seem to pick up on bugs gcc may miss ~ which is a good thing. LLVM also seems to have it's niches, where it is better than gcc for certain things, or provides something that gcc does not... The fact is whether you, myself or anyone may or may not like LLVM ~ llvm has gained a lot of traction and does seem to be useful and is being used in the real world, not as a 'toy'.... I also think that if you look at who is using LLVM and what they are using it for, it's really hard to come to the conclusion that you have above, imo.

                Originally posted by energyman View Post
                and now try to assemble a list for gcc or icc and see that llvm isn't really such big news.
                this just seems like you're trying to have a pissing contest, to me. It's obvious to anyone that gcc is more popular than llvm and also has been around much, much longer ~ so don't you think that comment is a bit silly? Also, ICC comes with crappy licensing and while some companies may use it, I don't think it is comparable to GCC (in usage) nor hugely more popular (if even) than LLVM is these days.

                Comment


                • #28
                  Originally posted by Sergio View Post
                  (at least for Intel's chips)

                  Comment


                  • #29
                    Gentoo is all about choice, and until now toolchain was about the only piece of software where there were no alternatives officially supported. So it can only be a good thing, although personally I'm more interested in using gold instead of ld then using clang instead of gcc.

                    Comment


                    • #30
                      Originally posted by Ansla View Post
                      Gentoo is all about choice, and until now toolchain was about the only piece of software where there were no alternatives officially supported. So it can only be a good thing, although personally I'm more interested in using gold instead of ld then using clang instead of gcc.
                      Currently, gold is required for -O4 to work when building with Clang, although I would prefer to use the following linker:

                      LLVM Linker for Mobile Computing. Contribute to mclinker/mclinker development by creating an account on GitHub.


                      I am afraid that it is not in portage yet, but it is something that I plan to add when I find time, unless someone else beats me to it.

                      Comment

                      Working...
                      X