LLVM: Clang kompiliert funktionierenden Linux-Kernel (Update)
Vor wenigen Tagen erschien Version 2.8 der Low Level Virtual Maschine (LLVM). In der aktuellen Version hatten die Entwickler die Funktionsliste für Clang C/C++ vervollständigt. Sie entsprechen nun den C++-ISO-Standards von 1998 und 2003. Zusätzlich kommt Clang auch mit Objective-C und Objective-C++ klar.
Nun ist es Entwickler Bryce Lelbach gelungen(öffnet im neuen Fenster), mit Clang einen funktionieren Linux-Kernel zu kompilieren. Er verwendete dazu den Quellcode der Kernel-Version 2.6.36 und erstellte daraus einen Kernel für die x86_64-Architektur und symmetrische Multiprozessorsysteme (SMP). Zusätzlich konnte er dann weitere Kernel- und LLVM-Versionen bis in die vierte Generation erstellen (Self-Hosting). Der Kernel funktionierte auf einem Macbook mit Debian und zusätzlich in einer virtuellen Umgebung unter Qemu.
Während die meisten Treiber und hardwarebasierten Subsysteme liefen, funktionierte das Laden der Module durch den Kernel jedoch nicht. Außerdem lassen sich weitere Grundfunktionen wie SELinux, POSIX ACLs, eCrypt, IPv6 oder die Xen-Virtualisierung noch nicht übersetzen.
Lelbach will in einem eigenen Git-Repository den Kernel-Code in den nächsten Monaten so weit anpassen, dass ein komplett funktionstüchtiger Linux-Kernel mit Clang erstellt werden kann.
Update vom 27.Oktober 2010 14:50
Inzwischen ist es Lelbach gelungen(öffnet im neuen Fenster), das Laden von Modulen funktionsfähig zu machen. Außerdem lassen sich jetzt POSIX ACLs, IPSec und eCrypt kompilieren. SELinux sei zum größten Teil funktionsfähig.
- Anzeige Hier geht es zu C++: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.