为Linux内核使用定制的CFLAGS是否安全,例如mmx sse指令

为Linux内核使用定制的CFLAGS是否安全,例如mmx sse指令

在编译linux内核时使用定制的CFLAGS是否安全,例如启用SSE、MMX指令,这是一个问题吗?

答案1

如果您正在构建自定义内核,那么您已经在使用一些功能,这些功能可能有效也可能无效,具体取决于 GCC 版本(如 GillieS 提到的)和其他因素。因此,决定启用 SSE、MMX 等可能不会带来任何更多的“风险”。基本上,无论如何,您都需要广泛测试您的自定义内核,因此这取决于您所谓的“安全”。

如果您正在为现有内核构建模块(设备驱动程序),那么您确实需要使用与内核相同的 GCC 以及由相应 makefile 选择的 CFLAGS,否则您就是在自找麻烦。

答案2

Processor type and features->内核配置设置Processor family已经为您设置了适当的 CFLAGS。

它还确保内核中的任何手写汇编程序段同时被 SSE/MMX/任何适当的优化版本替换(如果需要)。仅更改 CFLAGS 并不能做到这一点。

相关内容