是否可以使用-Wp,-D_FORTIFY_SOURCE=2
选项(或=1
)以及-Og
优化级别?引入FORTIFY_SOURCE
的{{3}}包含评论/* Object size checking is only intended for -O[s123]. */
。
是2004年。而且我不知道何时引入-Og
密钥(可能稍后)。
哪些优化(优化标志)FORTIFY_SOURCE
需要?
答案 0 :(得分:3)
强化要求__OPTIMIZE__
宏大于0:
$ cat /usr/include/features
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
&& __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
# if _FORTIFY_SOURCE > 1
# define __USE_FORTIFY_LEVEL 2
在定义-Og
时, -O
与其他__OPTIMIZE__
标志没有区别:
$ gcc -E -Og -dM -x c /dev/null 2>&1 | grep OPTIMIZE
#define __OPTIMIZE__ 1
所以你应该没事。
您可以要求Glibc开发人员更新评论。