Кернел Линук 4.19 сада захтева ГЦЦ 4.6 за израду због компајлирања кварова на старијој архитектури

Линук-Уник / Кернел Линук 4.19 сада захтева ГЦЦ 4.6 за израду због компајлирања кварова на старијој архитектури 1 минут читања

Линук Кернел Организатион, Инц.



За Линук програмере који раде на језгру, будуће издање Линук 4.19 језгра подиже ГЦЦ минималну верзију потребну за изградњу језгра. Службено језгро Линука је ГЦЦ 3.2 навело као минимум верзија компајлера потребна за изградњу језгра, али Линук кернел 4.19 подиже је на ГЦЦ 4.6.

То је зато што разне архитектуре на старијим издањима ГЦЦ4 нису успеле да чисто компајлирају Линук језгро, због чега се ГЦЦ 4.6 поставља као минимум. Кернел ће такође изричито проверити да ли постоји ГЦЦ 4.6.0 или новији и ако није пронађен, преводилац ће погрешити.



Ово је такође корисно за код језгра, јер су програмери језгра успели да уклоне неколико десетина редова кода за старија ГЦЦ заобилазна решења која су била усмерена на грешке компајлера и разлике у понашању у старијим издањима компајлера.



Ова промена је спојена нешто раније данас путем Гит цоммит-а - а ГЦЦ 4.6.0 је објављен 2011. године, па ћемо видети да ли ће ГЦЦ имати ажурирања и у будућности.



Дневник промена / урезивање за ово ажурирање у основи прецизира да је промена углавном у потпуности последица старијих верзија ГЦЦ компајлера који нису успели да изграде језгро под разним архитектурама, као што је доле наведено:

 Разне архитектуре не успевају да се правилно граде са старијим верзијама компајлера гцц. Пример Гуентер Роецка у нити [1]:>> У датотеци која је укључена у ./инцлуде/линук/мм.х:17-0,> из ./инцлуде/линук/пид_намеспаце.х:7,> из ./инцлуде /линук/птраце.х:10,> из арцх / опенрисц / кернел / асм-оффсетс.ц: 32:> ./инцлуде/линук/мм_типес.х:497:16: грешка: флексибилни члан низа у иначе празној структури> > Ово је само пример са гцц 4.5.1 за ор32. Видео сам проблем> и са гцц 4.4 (за уницоре32). Дакле, ажурирајте минималну потребну верзију гцц-а на 4.6. [1] хттпс://лоре.кернел.орг/лкмл/20180814170904.ГА12768@роецк-ус.нет/ Остало: - Ажурирајте документацију / процес / цхангес.рст - Уклоните и консолидујте блокове за верзије у цомпилер-гцц.х за верзије ниже од 4.6

Што се тиче ЛЛВМ Цланг напора за изградњу главног језгра Линук к86_64, тренутно постоји застој у напорима, посебно у пројекту ЛЛВМЛинук - иако је било одређеног посла у изградњи језгра кроз АРМ Линук простор са Цлангом.