-Defining this macro causes some lightweight checks to be performed to detect
-some buffer overflow errors when employing various string and memory
-manipulation functions. Not all buffer overflows are detected, just some
-common cases. In the current implementation, checks are added for calls to
-\fBmemcpy\fP(3), \fBmempcpy\fP(3), \fBmemmove\fP(3), \fBmemset\fP(3), \fBstpcpy\fP(3),
-\fBstrcpy\fP(3), \fBstrncpy\fP(3), \fBstrcat\fP(3), \fBstrncat\fP(3), \fBsprintf\fP(3),
-\fBsnprintf\fP(3), \fBvsprintf\fP(3), \fBvsnprintf\fP(3), and \fBgets\fP(3). If
-\fB_FORTIFY_SOURCE\fP is set to 1, with compiler optimization level 1 (\fIgcc\ \-O1\fP) and above, checks that shouldn't change the behavior of conforming
-programs are performed. With \fB_FORTIFY_SOURCE\fP set to 2 some more checking
-is added, but some conforming programs might fail. Some of the checks can
-be performed at compile time, and result in compiler warnings; other checks
-take place at run time, and result in a run\-time error if the check fails.
-Use of this macro requires compiler support, available with \fBgcc\fP(1) since
-version 4.0.
+このマクロを定義すると、文字列やメモリの操作を行う様々な関数を 使用する際にバッファオーバーフローを検出するための軽めのチェックが
+実行されるようになる。すべてのバッファオーバーフローが検出される わけではなく、あくまでよくある例についてだけである。
+現在の実装では、以下の関数にチェックが追加されている: \fBmemcpy\fP(3), \fBmempcpy\fP(3), \fBmemmove\fP(3),
+\fBmemset\fP(3), \fBstpcpy\fP(3), \fBstrcpy\fP(3), \fBstrncpy\fP(3), \fBstrcat\fP(3),
+\fBstrncat\fP(3), \fBsprintf\fP(3), \fBsnprintf\fP(3), \fBvsprintf\fP(3),
+\fBvsnprintf\fP(3), \fBgets\fP(3). \fB_FORTIFY_SOURCE\fP が 1 に設定された場合、コンパイラの最適化レベルが
+1 (\fIgcc\ \-O1\fP) かそれ以上であれば、規格に準拠するプログラムの振る舞いを 変化させないようなチェックが実行される。
+\fB_FORTIFY_SOURCE\fP が 2 に設定された場合、さらなるチェックが追加されるが、
+規格に準拠するプログラムのいくつかが失敗する可能性がある。 いくつかのチェックはコンパイル時に実行でき、コンパイラの警告として
+表示される。他のチェックは実行時に行われ、チェックに失敗した場合 には実行時エラーとなる。 このマクロを使用するにはコンパイラの対応が必要であり、
+バージョン 4.0 以降の \fBgcc\fP(1) で利用できる。