Linux Kernel 5.15將GCC版本要求提高到5.1
上周日發佈的Linux Kernel 5.15首個候選版本更新引入了諸多變化,不過在本週一引入的一項新變化中,提高了創建Linux內核的 GCC 版本門檻。 目前,Linux Kernel 是基於 GCC 4.9 內核上構建的,現在它已經被提升到 GCC 5.1。
AArch64 已經至少需要 GCC 5.1,而這次升級影響到所有其他架構。 不過,除了那些試圖在非常老的企業級Linux發行版上構建的人之外,其影響最終應該是非常小的。 GCC 5.1 可以追溯到 2015 年的 GNU Compiler Collection 版本。 所以基本上你需要一個過去六年內的編譯器來構建Linux的mainline內核。
通過放棄 GCC5 之前的編譯器支援,他們能夠避免 GCC 4.9 的一些編譯器警告,並放棄其他針對 GCC4 的變通方法。 事實上,放棄 GCC5.1 之前的支援意味著刪除了大約 350 行代碼,並降低了圍繞驗證舊編譯器支援的維護負擔。
除了刪除舊的相容性殘餘和處理編譯器的煩擾之外,這次遷移到GCC 5.1的最低版本確實意味著Linux內核有可能在未來的代碼中從使用 C89(GNU89 同源語)切換到 C11(GNU11 同源語),但目前這個變化還沒有在 mainline 上進行。