在编译 linux 内核时使用自定义的 CFLAGS 是否安全,例如启用 SSE、MMX 指令,这是一个问题吗?
如果您正在构建自定义内核,那么您已经在使用一些功能,这些功能可能有效也可能无效,具体取决于 GCC 版本(如 GillieS 提到的)和其他因素。因此,决定启用 SSE、MMX 等可能不会带来任何更多的“风险”。基本上,无论如何,您都需要广泛测试您的自定义内核,因此这取决于您所谓的“安全”。
如果您正在为现有内核构建模块(设备驱动程序),那么您确实需要使用与内核相同的 GCC 以及由相应 makefile 选择的 CFLAGS,否则您就是在自找麻烦。