Можно ли использовать -Wp,-D_FORTIFY_SOURCE=2
вариант (или =1
) вместе с -Og
уровень оптимизации? Патч который вводит 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
ничем не отличается от других -O
флаги в определении __OPTIMIZE__
:
$ gcc -E -Og -dM -x c /dev/null 2>&1 | grep OPTIMIZE
#define __OPTIMIZE__ 1
так что у тебя должно быть все в порядке.
Вы можете попросить разработчиков Glibc обновить комментарий.
Других решений пока нет …