FORTIFY_SOURCE 和 Og 优化级别
FORTIFY_SOURCE and Og optimization level
是否可以将 -Wp,-D_FORTIFY_SOURCE=2
选项(或 =1
)与 -Og
优化级别一起使用? The patch 介绍 FORTIFY_SOURCE
包含注释 /* Object size checking is only intended for -O[s123]. */
.
现在是2004年。而且我不知道什么时候引入 -Og
密钥(也许以后)。
即需要哪些优化(优化标志)FORTIFY_SOURCE
?
强化需要__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
在定义 __OPTIMIZE__
:
时与其他 -O
标志没有区别
$ gcc -E -Og -dM -x c /dev/null 2>&1 | grep OPTIMIZE
#define __OPTIMIZE__ 1
所以你应该没问题。
您可以要求 Glibc 开发人员更新评论。
是否可以将 -Wp,-D_FORTIFY_SOURCE=2
选项(或 =1
)与 -Og
优化级别一起使用? The patch 介绍 FORTIFY_SOURCE
包含注释 /* Object size checking is only intended for -O[s123]. */
.
现在是2004年。而且我不知道什么时候引入 -Og
密钥(也许以后)。
即需要哪些优化(优化标志)FORTIFY_SOURCE
?
强化需要__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
在定义 __OPTIMIZE__
:
-O
标志没有区别
$ gcc -E -Og -dM -x c /dev/null 2>&1 | grep OPTIMIZE
#define __OPTIMIZE__ 1
所以你应该没问题。
您可以要求 Glibc 开发人员更新评论。