12.142 --strict_symbols、--no_strict_symbols

マッピングシンボル型が、ABI シンボル型と一致しているかどうかをチェックします。

使用法

オプション --strict_symbols は、マッピングシンボル型が、ABI シンボル型と一致していることをチェックします。型が一致しない場合は、リンカによって警告が表示されます。
不一致が起こりうるのは、独自のアセンブラを手作業でコーディングした場合だけです。

デフォルト

デフォルトは --no_strict_symbols です。

以下のアセンブラコードにおいて、シンボル sym は ARM であり、STT_FUNC という型を持ちます。
        area code, readonly
        DCD sym + 4
        ARM
sym  PROC
        NOP
        THUMB
        NOP
        ENDP
        END
動作の違いは、DCD sym + 4 の意味です。
  • ABI 以前のリンカでは、シンボルの状態は、その位置に存在するマッピングシンボルの状態です。この例では、Thumb が該当します。
  • ABI リンカでは、シンボルの型は、シンボルの位置 + オフセットの状態です。
関連する概念
3.13 リンカオプションの厳格なファミリ
6.1 マッピングシンボルについて
関連する参考文書
12.137 --strict
12.138 --strict_enum_size、--no_strict_enum_size
12.139 --strict_flags、--no_strict_flags
12.140 --strict_ph、--no_strict_ph
12.141 --strict_relocations、--no_strict_relocations
12.143 --strict_visibility、--no_strict_visibility
12.144 --strict_wchar_size、--no_strict_wchar_size
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.