Results 1 to 9 of 9

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

  1. #1
    Join Date
    Jan 2007
    Posts
    14,527

    Default 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...

    http://www.phoronix.com/vr.php?view=MTM1NDY

  2. #2
    Join Date
    Jun 2012
    Posts
    340

    Default

    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?

  3. #3
    Join Date
    Aug 2012
    Location
    Pennsylvania, United States
    Posts
    1,873

    Default

    Quote 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?

  4. #4
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,033

    Default

    Quote 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

  5. #5
    Join Date
    Sep 2007
    Location
    Connecticut,USA
    Posts
    956

    Default

    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.

  6. #6
    Join Date
    Jul 2010
    Posts
    449

    Default

    Quote 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.

  7. #7
    Join Date
    Sep 2007
    Location
    Connecticut,USA
    Posts
    956

    Default

    Quote 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.

  8. #8
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,033

    Default

    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.

  9. #9
    Join Date
    Oct 2008
    Posts
    3,070

    Default

    Quote 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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •