Fedora is fan plan om de mooglikheid te jaan om pakketten te bouwen yn Clang ynstee fan GCC

Foar ymplemintaasje yn Fedora 33 pland feroarje regels foar it brûken fan gearstallers yn 'e distribúsje, neffens hokker de gearstaller foar it bouwen fan it pakket kin wurde selektearre ôfhinklik fan de oanbefellings en foarkarren fan it haadprojekt (streamop). Fedora hanthavenet op it stuit it gebrûk fan GCC om alle pakketten te bouwen, útsein as it pakket allinich yn Clang/LLVM kin wurde boud.

De reden foar it jaan fan de mooglikheid om te bouwen mei Clang is dat guon projekten, bgl. Firefox и Chromium, tidens ûntwikkeling brûke se Clang as de haadkompiler en assemblies basearre op it wurde better hifke. It brûken fan Clang foar sokke pakketten sil it fangen fan flaters foarkomme dy't ferskine by it bouwen yn GCC, en ek it koördinearjen fan fixes foar dizze flaters mei it haadprojekt. Bouwen mei GCC hat in posityf effekt op it behâld fan de portabiliteit fan koade ûntwikkele mei Clang, mar soarget foar in gruttere lêst foar ûnderhâlders en fertraget de publikaasje fan updates (bygelyks Mozilla ferbiedt brûk it Firefox-hannelsmerk by it tapassen fan patches fan tredden, dus jo moatte earst derfoar soargje dat de patches binne opnommen yn 'e haadstream en de fernijing pas frijlitte nei't de fixes yn' e streamopút ferskine).

It wurdt opmurken dat it soe wêze logysk te brûken Clang foar pakketten dêr't dizze kompilator is better geskikt en brûkt yn it haadprojekt. Foar sokke pakketten soe it mooglik wêze om de ûnderhâldslêst te ferminderjen as de pakketten taret wurde troch fertsjintwurdigers fan it haadprojekt. As in fertsjintwurdiger fan 'e mienskip it pakket bouwt, dan wurdt de mooglikheid om in kompilator te kiezen foarsteld om te jaan oan de ûnderhâlder. Foar pakketten wêrfan de haadprojekten de ien of oare kompilator net favorisearje, wurdt it oanrikkemandearre om de status quo te behâlden (ynbou yn GCC lykas earder). De skriuwer fan it foarstel is Jeff Law fan Red Hat, dy't ien fan 'e GCC- en Binutils-ûnderhâlders is.

Boarne: opennet.ru

Add a comment