Linked by Thom Holwerda on Tue 26th Oct 2010 20:36 UTC, submitted by tyrione
Linux Clang can build a kernel now. "The kernel can successfully boot to runlevel 5 (aka X + networking) on the Macbook, both on bare metal and in Qemu. The kernel can successfully boot to runlevel 3 on a secondary test machine, a microATX desktop box (Intel Atom). I haven't tried to start X on this box yet. The kernel can self-host; I am currently running a 'fourth generation' self-hosted Linux kernel built by a 'fourth generation' Clang."
Permalink for comment 447270
To read all comments associated with this story, please click here.
RE: What is Clang?
by bebop on Wed 27th Oct 2010 00:54 UTC in reply to "What is Clang?"
bebop
Member since:
2009-05-12

LLVM is a low level virtual machine (hence the name), it is in the simplest form a compiler back-end. This means that it takes code that is parsed from a language (C, C++, whatever) and converts it to a program the computer can read (or an interpreter for that matter).

Clang is the front-end for the c, c++ and objective-c/c++ languages. The combination of LLVM and Clang is equivalent to GCC with the various front-ends for the languages stated above.

Why it exists? Why does anything exist? philosophy aside, basically LLVM is supposed to be more modular than GCC, and LLVM is licensed under the BSD, while GCC is GLP.

The reason that this is interesting is because the Linux kernel has been written with the GCC compiler from the start. Being able to compile, not to mention have the code run somewhat correctly, is a milestone because software like kernels ask a lot out of compilers. Also different compilers may be able to point out problems that were not seen before.

The last thing is that because both compilers conform to an ansi spec, making sure that the kernel builds with both compilers gives better assurance that the kernel code complies with the ansi standard, which cannot hurt.

Reply Parent Score: 5