当前位置:首页 > 技术文章 > 正文内容

Linux Kernel 5.15将GCC版本要求提高到5.1

zonemu2个月前 (07-28)技术文章25

上周日发布的 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 上进行。

相关文章

八款值得尝试的精美的Linux发行版,你用过哪几款?

Linux发行版各式各样,每个发行版都有自己的特点,在这篇文章中,将会列出让一些另 Linux 用户印象最深刻且精美的 Linux 发行版,包括对初学者友好和流行的发行版。elementary OSe...

jenkins+gitlab 实现自动化部署(gitlab触发jenkins)

目录1、安装jdk,要记住安装路径2、安装maven,要记住安装路径3、安装git,要记住安装路径4、安装gitlab5、安装jenkins(centos7)创建安装目录下载通用war包启动和关闭Je...

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockers...

HTML5与APP的抉择(h5与app的区别)

同为当下炙手可热的技术,围绕APP和HTML5难免少不了各种争辩。而在“互联网+”时代,许多面临转型的传统企业,也在选择转型工具时,陷入了HTML5或APP的纠结抉择之中……到底该选择HTML5还是A...

小白友好型Windows优化工具BoosterX使用教程 一键提升游戏性能

一款集系统优化和游戏优化为一体的Windows友好型优化工具,BoosterX得到过众多游戏玩家的推荐,它能简单、快速、安全地优化Windows,就算设置出错还能通过备份还原设置。它还提供了一款精简版...

js中数组filter方法的使用和实现(js实现数组的indexof方法)

定义filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。语法var newArray = arr.filter(callback(element[, index[, se...