Linux 5.15 提高 GCC 编译器版本要求

来源: 投稿
作者: 御坂弟弟
2021-09-15

在发布 Linux 5.15 的第一个 RC 版本后,Linus Torvalds 又合并了一个更改,以提高构建 Linux 内核基线的 GCC 版本要求。

此前,Linux 内核一直支持在 GCC 4.9 版本上构建,而现在由于 AArch64 已经至少需要 GCC 5.1,且这个问题会影响所有其他架构,因此 GCC 版本要求也提高到了 5.1,这是一个首次发布于 5 年前的版本。不过那些试图构建非常老的企业级 Linux 发行版的用户应该不会受到影响。

Linus 表示,通过升级到 GCC 5.1,他们能够避免 GCC 4.9 的一些编译器警告并放弃某些特定于 GCC4 的解决方法。事实上,这意味着删除了大约 350 行代码,并降低了验证旧编译器支持的维护负担。此外,这次升级也使 Linux 内核有可能在未来的代码中从使用 '--std=gnu89' 切换到 '--std=gnu11',并最终开始使用局部循环声明等技术。

展开阅读全文
4 收藏
分享
加载中
最新评论 (8)
之前没想过最新版的Linux内核还在使用这么老旧的GCC

局部循环声明 可能是
`for(int i = 0; i < 10; i ++) {}`
之前可能得写成
```
int i;
for(i = 0; i < 10; i ++) {}
```
2021-09-15 11:39
4
回复
举报
因为linux要保证编译器兼容性,这里说的是最低要求,当然你也可以用最新的gcc来编译
2021-09-15 19:45
1
回复
举报
我一直拿gcc10编译内核的啊
2021-09-15 20:48
0
回复
举报
请问”局部循环声明“这个是什么?
2021-09-15 09:57
0
回复
举报
为何Linux迟迟不愿切换到使用Clang/LLVM进行构建??
2021-09-15 09:50
0
回复
举报
毕竟同属GNU组织下的产品,不用自己的东西说不过去
2021-09-15 10:01
0
回复
举报
也不算GNU下的产品,但是确实渊源很深
2021-09-15 10:37
1
回复
举报
说句实话,GCC和linux都是GNU的产品,用自家的东西没毛病,还有一个就是GCC虽然架构老了点,但GCC在编译linux内核上比clang更好,https://www.oschina.net/news/118391/gcc-faster-kernel-builds-clang
2021-09-15 19:51
1
回复
举报
更多评论
8 评论
4 收藏
分享
返回顶部
顶部