De Linux-kernel is de ruggengraat van Linux-besturingssystemen (OS) en is de fundamentele interface tussen de hardware van een computer en zijn processen.
Linus Torvalds heeft onlangs aangekondigd dat het samenvoegingsvenster voor de Linux 6.3-kernel is gesloten en dat deze versie de ondersteuning voor de Intel ICC-compiler verwijdert. Het gaat specifiek om de Intel ICC-compiler, beter bekend als de "Intel C++ Compiler Classic" voordat deze overging op LLVM/Clang met de moderne Intel DPC++-compiler.
Met de eerste release-kandidaat van Linux 6.3 weten we iets meer over de functies en wijzigingen in deze nieuwe kernelversie. Een van de belangrijkste functies die aan Linux 6.3 is toegevoegd, is de nieuwe tool "rtla hwnoise".
Enkele maanden geleden gingen er geruchten dat de Linux-kernel de ondersteuning voor Intels ICC-compiler zou stopzetten , en nu, met Linux 6.3, is dat ook daadwerkelijk gebeurd. Hoewel de LLVM/Clang-compiler steeds vaker door verschillende ontwikkelaars en organisaties wordt gebruikt om de hoofd-Linux-kernel te bouwen als aanvulling op de GCC-compiler, die lange tijd de primaire focus van de compiler was, was Intels ICC-compiler ook in staat om de Linux-kernel te bouwen, hoewel deze niet op grote schaal werd gebruikt. De kernelontwikkelaars hebben echter besloten de ondersteuning voor de ICC-compiler te laten vallen.
Ten eerste is Intel ICC een sterk geoptimaliseerde C- (icc) en C++-compiler (icpc) die door sommige ontwikkelaars en organisaties wordt gebruikt om de Linux-kernel te bouwen. De standalone-versie is inmiddels vervangen door Intel OneAPI.
Het idee om de ondersteuning voor Intels ICC-compiler te schrappen werd afgelopen oktober voor het eerst geopperd door Linux-ontwikkelaar Masahiro Yamada. Volgens Linux-kernelontwikkelaars zijn de kernelwijzigingen met betrekking tot de ondersteuning voor Intels ICC-compiler minimaal, en lijkt de ICC-ondersteuning voor kernelbuilds momenteel inactief te zijn zonder dat daar blijkbaar aandacht aan wordt besteed. Omdat niemand zich erom lijkt te bekommeren of het opmerkt, zou dit voorstel de ICC-ondersteuning uit de hoofdkernel verwijderen en ongeveer 300 regels code vrijmaken die momenteel voor ICC-ondersteuning worden gebruikt.
Linus Torvalds, de maker van de kernel, reageerde door te pleiten voor het afschaffen van de Intel ICC-compiler:
“Ik denk niet dat iemand echt gebruik heeft gemaakt van het ICC. Ik kan me niet herinneren dat ik ook maar één woord heb gehoord over de problemen van ICC, en ik denk niet dat het kwam omdat het GCC zo goed nabootste dat niemand problemen had.
Andere kernelontwikkelaars hebben zich voor deze wijziging uitgesproken. Nu de ICC-compiler van Intel overgaat van zijn oude eigen codebase naar een op LLVM gebaseerd model, zou de nieuwe ICC-compiler uiteindelijk in staat kunnen zijn om de kernel te compileren met behulp van Clang-paden.
In principe is het belangrijkste headerbestand van de Linux-kernel voor de Intel-compiler al drie jaar niet meer aangepast, veel ontwikkelaars/gebruikers vergeten of zijn zich zelfs niet bewust van de ICC-ondersteuning voor het compileren van de kernel, en er is minstens één duidelijk, ongewijzigd probleem gemeld met ICC-kernelcompilaties.
Bovendien is Intels klassieke ICC-compiler vervangen door de modernere oneAPI DPC++/C++-compiler, gebouwd op LLVM. En sinds oktober heeft niemand zich gemeld met interesse om de nieuwste kernelcode met deze klassieke Intel-compiler te compileren.
Dus het laten vallen van Intel ICC-ondersteuning zou geen echt verlies moeten zijn. GCC en LLVM/Clang zijn nog steeds de twee belangrijkste compilers voor het bouwen van de belangrijkste Linux-kernel.
GCC is lange tijd de de facto keuze geweest voor het bouwen van de mainline-kernel, terwijl de laatste jaren de LLVM/Clang-mainline zeer geschikt is gebleken voor het bouwen van de Linux-kernel en in verschillende builds wordt gebruikt. LLVM. /Clang naar de verschillende compilerfuncties. Daarom wordt de ICC-compiler van Intel buiten gebruik gesteld met de komst van Linux-kernelversie 6.3.
Als u hier meer over wilt weten , kunt u de details vinden via de volgende link.