Итак, при компиляции кода ядра у меня есть функция, которая при компиляции без (по крайней мере) "-O" выдает:
"предупреждение: размер кадра стека 1080 байт в функции"
и в самом глубоком случае запустит стек и паникует в конкретном тесте.
Однако при компиляции с "-O" выдает предупреждение
": размер кадра стека составляет 584 байтав функции "
, и мы защищены от перезапуска стека.
Однако при отладке полезно компилировать без -O, но я бы хотел всегда включать -O для этой функции и / или исходного файла.Или, по крайней мере, любая часть "-O" делает его намного меньше при использовании стека.__attribute__ ((minsize))
тоже не сработало.
Другие ссылки на stackoverflow указывают на "__attributes__ ((optnone))"
, но я вроде как хочу обратного.
Я мог бы поиграть с Makefile и убедиться, что исходный файл получает -O, но я подумал, что сначала проверю параметры clang.
В настоящее время использую: Apple LLVM версия 10.0.0 (clang-1000.11.45.5) * * тысяча двадцать-одна