如何查看Linux kernel用哪个版本的gcc编译的?

查看内核是使用哪个版本的 GCC 编译的,可以使用 modinfo 命令来查看内核模块信息,其中包括使用的编译器版本。但请注意,并不是所有的内核模块都包含了这些信息。如果内核模块提供了,则你可以通过以下方式查看:

modinfo -F vermagic <module_name>

<module_name> 替换成你想查看的模块名称,比如 e1000ebtrfs 等。

输出示例可能如下所示:

5.4.0-66-generic SMP mod_unload modversions 
x86_64 优化的 GCC 版本 9.3.0 ...

另一种方法是查看 System.map 文件或者 /proc/version 文件,里面通常也会包含编译内核时使用的 GCC 版本信息。例如:

通过 /proc/version 查看:

cat /proc/version

输出将显示类似以下内容:

Linux version 5.4.0-66-generic (buildd@lgw01-amd64-033) 
(gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) 
#74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021

请注意,这个方法显示了系统当前运行的内核版本是使用哪个 GCC 版本编译的。如果内核有过升级,且并不是用同一版本的 GCC 编译的,这种方法只能显示当前内核的信息。

对于系统上当前未运行的其他内核版本,如果 modinfo 不可用,获取编译器版本的方法可能不那么直接,可能需要查找适当的文档或构建配置文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值