Announcement

Collapse
No announcement yet.

LLVM/Clang 3.3 Should Be Close To Building Linux Kernel

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

  • LLVM/Clang 3.3 Should Be Close To Building Linux Kernel

    Phoronix: LLVM/Clang 3.3 Should Be Close To Building Linux Kernel

    Developing are reaching a point where the mainline LLVM/Clang compiler in an "out of the box" configuration can compile the mainline Linux kernel with only a few patches against the kernel's source tree. This summer's release of LLVM/Clang 3.3 should be a big milestone...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Congrats on finally getting debug tools Linux!

    Seriously, I had to support GCC once, and I will never touch that POS again. How do you people live with tools like that?

    Comment


    • #3
      Originally posted by gamerk2 View Post
      Congrats on finally getting debug tools Linux!

      Seriously, I had to support GCC once, and I will never touch that POS again. How do you people live with tools like that?
      Limited choice?
      All opinions are my own not those of my employer if you know who they are.

      Comment


      • #4
        Originally posted by gamerk2 View Post
        Congrats on finally getting debug tools Linux!

        Seriously, I had to support GCC once, and I will never touch that POS again. How do you people live with tools like that?
        Much better than when I had to use Visual Studio and XCode, thank you

        Comment


        • #5
          I would call LLVM/Clang complete ONLY when it compiles the Linux kernel without the need for any patches to the kernel code as well as the resulting finished binary behaving the same way as the gcc-compiled kernel binaries without unexplained crashes or bugs. The kernel should be written portably so ALL compilers can compile it cleanly and any gcc-isms should be refactored.

          Comment


          • #6
            Originally posted by DeepDayze View Post
            I would call LLVM/Clang complete ONLY when it compiles the Linux kernel without the need for any patches to the kernel code...
            I think the reason it doesn't compile the kernel at the moment is due to gcc-isms, and that the patches simply remove those/replace them with something portable.

            Comment


            • #7
              Originally posted by archibald View Post
              I think the reason it doesn't compile the kernel at the moment is due to gcc-isms, and that the patches simply remove those/replace them with something portable.
              Ahh, that makes sense...removing the gcc-isms and replacing them with code more in line with the standards is a good thing and that alone should help reduce bugs. Most of those gcc-isms are mainly workarounds for some gcc bugs common in older gcc's so rewriting those sections of code portably should help clean that up.

              Comment


              • #8
                Or they were extensions requested by kernel devs to have more control over the resulting code, which is a good thing. Haven't looked at the patches to see whether any such code is removed or if it's only portability changes.

                Comment


                • #9
                  Originally posted by DeepDayze View Post
                  Ahh, that makes sense...removing the gcc-isms and replacing them with code more in line with the standards is a good thing and that alone should help reduce bugs. Most of those gcc-isms are mainly workarounds for some gcc bugs common in older gcc's so rewriting those sections of code portably should help clean that up.
                  The VLAIS (Variable Length Arrays In Structs) makes the code a lot more readable and understandable, which likely reduces the number of bugs. The kernel devs have already objected to removing them for LLVM. It isn't clear what the final solution will be, because it doesn't sound like LLVM is interested in supporting them, either.

                  Comment

                  Working...
                  X