clang enable在函数/文件上优化,或者限制堆栈大小;苹果内核

时间:2019-03-22 06:33:30

标签: macos kernel clang

因此,在编译内核代码时,我有一个函数,当编译时(至少)不带“ -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)

0 个答案:

没有答案