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

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 上进行。

相关文章

Ubuntu 24.10发行版登场:Linux 6.11内核、GNOME 47桌面环境

IT之家 10 月 11 日消息,Canonical 昨日发布新闻稿,正式推出代号为 Oracular Oriole 的 Ubuntu 24.10 发行版。新版在内核方面升级到最新 6.11 版本,并...

「图解」父子组件通过 props 进行数据交互的方法

1.组件化开发,经常有这样的一个场景,就是父组件通过 Ajax 获取数据,传递给子组件,如何通过 props 进行数据交互来实现,便是本图解的重点。2.代码的结构3.具体代码 ①在父组件 data 中...

Vue状态管理:Pinia完整指南(状态管理vuex)

概述本文专注于Vue的状态管理。我们将深入探讨如何使用Pinia来管理Vue应用程序的状态。状态管理使用props和emit进行父子组件间的数据协作虽然方便,但在以下情况下可能不够充分,数据传递往往会...

同事git push到主分支上了,技术总监怒了

事情是这样的,同事前几天提交使用git提交代码的时候不小心提交到主分支上了,关键还提交成功了,这可是他自己开发的模块,还没测试的呢。技术总监也知道了,这下他慌乱了。最后还是技术总监给他兜底了。为了防止...

使用GitLab实现CICD(gitlab配置cicd)

GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:Continuous Integration (CI) 持续集成Continuous Delivery (C...

傻瓜式DEVOPS实践手册——Gitlab部署

GitLab是一款开放源代码的DevOps平台,用于实现从项目规划、源代码管理、CI/CD到监控和安全性的全方位集成。GitLab主要用于版本控制、协同开发、持续集成/持续部署 (CI/CD)、自动化...