Linux 6.3: Wegbereiter für die Abkehr von C

Seite 3: Mach's gut, Intel C!

Inhaltsverzeichnis

Von vielen zwar schon fast vergessen, aber Linux ließ sich bis zum jetzigen Release mit drei Compilern bauen. Neben dem Urgestein gcc und LLVM/clang, konnte der Kernel auch mit Intels C-Compiler ICC übersetzt werden. Linux 6.3 reduziert die Palette auf gcc und clang. ICC fällt dem Rotstift zum Opfer. Das hat jedoch keine politischen Gründe, sondern eine ganz praktische, technische Ursache.

Intel schwenkte bereits im Dezember 2020 mit der Freigabe seines neuen ICC (oneAPI DPC++) von seinem proprietären Code auf eine LLVM/clang-basierte Variante um. Der ursprüngliche ICC erhielt damals den neuen Namen "Intel C++ Compiler Classic". Vom Wegfall ist lediglich die klassische Variante betroffen.

Bereits im Oktober des vergangenen Jahres diskutierten die Kernel-Entwickler diese Maßnahme. Viele Stellen im Kernel-Code beziehen sich nur noch auf gcc und clang. Der ICC ist schon lange nicht mehr aktiv im Fokus der Entwickler. Es ist davon auszugehen, dass der Kernel sich mit dem klassischen ICC praktisch ohnehin nicht mehr compilieren lässt. Nachdem die Ankündigung, den ICC zu streichen, keine lauten Aufschreie nach sich zog, schritten die Entwickler nun zur Tat. Der klassische ICC kann den Kernel 6.3 jetzt offiziell nicht mehr bauen.

Die neue oneAPI-Variante von Intel kann Linux 6.3 vermutlich noch übersetzen. Da dieser Compiler auf LLVM/clang basiert, sollte sich dieser den Kernel-Build-Prozess der clang-Variante zu Nutze machen können. Allerdings ist aktuell kein Projekt bekannt, das den Kernel überhaupt mit irgendeiner Variante von Intels Compiler übersetzt. Zumindest kein offen einsehbares Projekt. In geschlossenen Entwicklungsabteilungen von Firmen und Institutionen mag dies anders aussehen.

Linux 6.3 könnte als Wartungs-Release durchgehen, säubert es doch an vielen Stellen (WiFi, ICC) den Code und stellt Neuerungen seiner Vorgänger breiter auf (MPTCP, BIG TCP). Der praxisorientierte Ausbau von Rust und das Neupositionieren von eBPF-Programmen eröffnet neue Horizonte abseits von C. Zudem birgt das Infragestellen eingefahrener Strategien auch die Chance, das eine oder andere in C implementierte neu zu bewerten, vielleicht auch zu härten. eBPF als Risikofaktor scheint kein Thema mehr zu sein. Insgesamt deutet der als Wartungs-Release nutzbare neue Kernel eine spannende Zukunft und neue Entwicklungen an.

Der neue Kernel steht wie immer auf https://kernel.org zum Download bereit. Alle Änderungen können im Linux-Kernel-Changelog nachgelesen werden.

(dmk)