12.54 --execstack、--no_execstack

実行可能なスタックまたは実行不可能なスタックのどちらかをリンカに使用させます。

使用法

以下のいずれかを指定した場合、リンカは実行不可能なスタックをサポートするために、適切な PT_GNU_STACK プログラムヘッダを生成します。

  • --sysv

  • --arm_linux(このオプションを使用すると、 --sysv を指定したことになるため)。

リンカは、入力オブジェクトの .note.GNU-stack セクションがあるかどうかでスタックの実行可能状態を判別します。

  • どの入力オブジェクトにも .note.GNU-stack セクションがない場合、リンカは最終イメージに実行可能スタックが必要であると判断します。

  • .note.GNU-stack セクションを持つ入力オブジェクトがない場合、リンカは PT_GNU_STACK プログラムヘッダを生成しません。

  • 少なくとも 1 つのオブジェクトに .note.GNU-stack セクションがある場合、リンカは PT_GNU_STACK プログラムヘッダを生成します。すべての入力オブジェクトに実行不可能な .note.GNU-stack セクションがある場合、プログラムヘッダは実行不可能とマークされます。それ以外の場合、プログラムヘッダは実行可能とマークされます。

リンカによる選択をオーバーライドするには、次のオプションを使用します。

  • --execstack(実行可能スタックを使用させる場合)。

  • --no_execstack(実行不可能なスタックを使用させる場合)。

関連する参考文書
12.7 --arm_linux
12.152 --sysv
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.