2016-12-07 6 views
2

-Wp,-D_FORTIFY_SOURCE=2オプション(または=1)と-Ogの最適化レベルを使用できますか? を紹介するThe patchには、コメント/* Object size checking is only intended for -O[s123]. */が含まれています。FORTIFY_SOURCEとOg最適化レベル

2004年です。そして、いつ-Ogキーが導入されたのかは分かりません(多分後で)。

どちらの最適化(最適化フラグ)FORTIFY_SOURCEが必要ですか?

+0

'-Wp'は必要ありません。単に' -D'を使用してください。 GCCはそれをプリプロセッサに転送するのに賢明です。 – yugr

答えて

2

強化が0より__OPTIMIZE__マクロ以降が必要です:

$ 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の開発者にコメントの更新を依頼することができます。

関連する問題