Original-URL des Artikels: https://www.golem.de/1010/78935.html    Veröffentlicht: 27.10.2010 11:03    Kurz-URL: https://glm.io/78935

LLVM

Clang kompiliert funktionierenden Linux-Kernel (Update)

Mit der C/C++-Erweiterung Clang der Low Level Virtual Maschine (LLVM) haben Entwickler einen funktionieren Linux-Kernel kompiliert. Mit dem Kernel wollen die Entwickler bis in die grafische Oberfläche gebootet haben. Er soll sowohl in einer Qemu-basierten virtuellen Maschine als auch direkt auf einem Rechner funktionieren.

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, 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, 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.  (jt)


Verwandte Artikel:
Saphira: Compiler-Patches verraten neue Qualcomm-CPU   
(06.11.2017, https://glm.io/130991 )
LLVM: Virtuelle Maschine schreibt Objektdateien für Darwin   
(08.10.2010, https://glm.io/78526 )
Arduino: IDE 1.9 implementiert heiß ersehnte Funktion   
(14.10.2017, https://glm.io/130613 )
Compiler-Baukasten: LLVM 5.0 erweitert Ryzen- und AMDGPU-Unterstützung   
(14.09.2017, https://glm.io/130049 )
Autonomes Fahren: Leiter der Autopilot-Software verlässt Tesla   
(21.06.2017, https://glm.io/128493 )

© 1997–2020 Golem.de, https://www.golem.de/