FORTIFY_SOURCE和Og优化级别

Ori*_*ent 4 c++ optimization gcc g++ memory-safety

是否可以将-Wp,-D_FORTIFY_SOURCE=2选项(或=1)与-Og优化级别一起使用?引入的补丁FORTIFY_SOURCE包含一个注释/* Object size checking is only intended for -O[s123]. */

是2004年。而且我不知道何时-Og引入密钥(可能稍后)。

哪些优化(优化标志)FORTIFY_SOURCE需要?

yug*_*ugr 5

设防要求__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
Run Code Online (Sandbox Code Playgroud)

-Og-O与定义其他标志没有什么不同__OPTIMIZE__

$ gcc -E -Og -dM -x c /dev/null 2>&1 | grep OPTIMIZE
#define __OPTIMIZE__ 1
Run Code Online (Sandbox Code Playgroud)

所以你应该没事的

您可以要求Glibc开发人员更新评论。