clang enable optimize для функции / файла или ограничение размера стека; Яблочное ядро - PullRequest
0 голосов
/ 22 марта 2019

Итак, при компиляции кода ядра у меня есть функция, которая при компиляции без (по крайней мере) "-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) * * тысяча двадцать-одна

...