
Безопасно ли использовать настроенные CFLAGS при компиляции ядра Linux, например, включение инструкций SSE, MMX, является ли это проблемой?
решение1
Если вы создаете собственное ядро, то вы уже играете с функциями, которые могут работать или не работать в зависимости от версии GCC (как упоминал GillieS) и других факторов. Поэтому решение включить SSE, MMX и т. д., вероятно, не добавляет «риска». По сути, вам в любом случае нужно будет тщательно протестировать свое собственное ядро, поэтому все зависит от того, что вы называете «безопасным».
Если вы создаете модули (драйверы устройств) для существующего ядра, то вам действительно нужно использовать тот же GCC, что и в ядре, и CFLAGS, выбранные соответствующими make-файлами, иначе вы нарветесь на неприятности.
решение2
Параметр конфигурации ядра Processor type and features
-> Processor family
уже устанавливает соответствующие CFLAGS для вас.
Он также гарантирует, что любые написанные вручную сегменты ассемблера в ядре будут заменены на SSE/MMX/какие-либо другие соответствующие оптимизированные версии одновременно (при необходимости). Простое изменение CFLAGS само по себе этого не сделает.