(((bind)<<4)+((type)&0xf))st_otherシンボルの可視性。ビットオブジェクトの両方の値を操作する方法を示しています。含んでおり、特に意味はありません。((o)&0x3)st_shndxすべてのシンボルテーブルエントリは、何らかのセクションに関して定義されます。この構成要素は、該当するセクションヘッダーテーブルインデックスを保持します。いくつかのセクションインデックスは、特別な意味を示します。含まれる場合は、実際のセクションヘッダーインデックスが大きすぎてこのフィールドに入りません。関連するセクション内に存在します。指定され、これにより、リンクの可視性と動作が決定します。値STB_LOCAL0STB_GLOBAL1STB_WEAK2STB_LOOS10STB_HIOS12STB_LOPROC13STB_HIPROC15STB_LOCALローカルシンボル。ローカルシンボルは、ローカルシンボルの定義が存在するオブジェクトファイルの外部では見えません。同じ名前のローカルシンボルは、互いに干渉することなく複数のファイルに存在できます。STB_GLOBAL大域シンボル。大域シンボルは、結合されるすべてのオブジェクトファイルで見ることができます。あるファイルの大域シンボルの定義は、その大域シンボルへの別ファイルの未定義参照を解決します。STB_WEAKウィークシンボル。ウィークシンボルは大域シンボルに似ていますが、ウィークシンボルの定義の優先順位は大域シンボルの定義より低いです。オペレーティングシステム固有の意味のために予約されています。STB_HIPROCこの範囲の値は、プロセッサ固有の使用方法に予約されます。シンボルの複数の定義を許可しない。定義された大域シンボルが存在している場合、同じ名前のウィークシンボルが現れてもエラーは発生しない。リンカーは大域定義を使用し、ウィーク定義を無視する。同様に、共通シンボルが存在している場合、同じ名前のウィークシンボルが現れてもエラーは発生しない。リンカーは共通定義を使用し、ウィーク定義を無視する。詳細は、シンボル解析を参照してください。リンカーは、アーカイブライブラリの検索時に、未定義または一時的な大域シンボル定義が存在するアーカイブ構成要素を抜き出す。構成要素の定義は、大域シンボルまたはウィークシンボルになる。リンカーはデフォルトでは、未定義のウィークシンボルを解決するためのアーカイブ構成要素を抜き出さない。使用すると、このデフォルトの動作が無効になる。これにより、ウィーク参照がアーカイブ構成要素を抜き出すことができる。–ウィークシンボルは、主にシステムソフトウェアでの使用を意図したものです。アプリケーションプログラムでの使用は推奨されません。結び付きが存在するすべてのシンボルは、ウィークシンボルと大域シンボルの前に存在します。セクションヘッダー構成要素は、最初のローカルではないシンボルに対するシンボルテーブルインデックスを保持します。フィールドで指定され、これにより、関連付けられた実体の一般的な分類が決定されます。値STT_NOTYPE0STT_OBJECT1STT_FUNC2STT_SECTION3STT_FILE4STT_COMMON5STT_TLS6STT_LOOS10STT_HIOS12STT_LOPROC13STT_SPARC_REGISTER13STT_HIPROC15STT_NOTYPEシンボルの種類は指定されません。関連付けられています。STT_FUNCシンボルは、関数または他の実行可能コードに関連付けられています。STT_SECTIONシンボルは、セクションに関連付けられています。結び付けられています。STT_FILE慣例により、シンボルの名前はオブジェクトファイルに対応するソースファイルの名前を与えます。シンボルの前に存在します。シンボルと、ローカルシンボルに短縮されている大域シンボルが続きます。STT_COMMONこのシンボルは、初期設定されていない共通ブロックを表します。STT_TLSシンボルは、スレッド固有領域の実体を指定します。定義されている場合、実際のアドレスではなく、シンボルに割り当てられたオフセットを提供します。型のシンボルだけを参照します。オペレーティングシステム固有の意味のために予約されています。STT_HIPROCこの範囲の値は、プロセッサ固有の使用方法に予約されます。フィールドで決定され、これは、再配置可能オブジェクトの中で指定できます。シンボルの可視性により、シンボルが実行可能ファイルまたは共有オブジェクトの一部になった後のシンボルへのアクセス方法が定義されます。属性を持つシンボルの可視性は、シンボルの結合タイプで指定されたものになります。外から見ることができます。ローカルシンボルは、「隠されて」います。STV_PROTECTED現在のコンポーネン内で定義されたシンボルは、それが他のコンポーネント内で参照可能であるが横取り可能ではない場合、保護されています。定義するコンポーネント内からのそのようなシンボルへの参照は、たとえデフォルトの規則によって間に入るような別のコンポーネントの定義があったとしても、そのコンポーネントの定義にもとづいて解決されなければなりません。STV_HIDDEN現在のコンポーネント内で定義されたシンボルは、その名前が他のコンポーネントから参照することができない場合、「隠されて」います。そのようなシンボルは、保護される必要があります。この属性は、コンポーネントの外部インタフェースの管理に使用されます。そのようなシンボルによって指定されたオブジェクトは、そのアドレスが外部に渡された場合でも、他のコンポーネントから参照可能です。STV_INTERNALこの可視性の属性は、現在予約されています。可視性の属性は、リンク編集中、実行可能ファイルまたは共有オブジェクト内のシンボルの解決には全く影響をおよぼしません。このような解決は、結合タイプによって制御されます。つの必要条件を課します。どちらの必要条件も、リンクされるコード内の参照は、属性の利点を利用するために最適化されるという事実に基づくものです。目に、すべてのデフォルトでない可視性の属性は、シンボルの参照に適用される際、その参照を満たすための定義は現在の実行可能ファイルまたは共有オブジェクト内で提供されなければならないという条件を課します。目に、名前への参照または名前の定義がデフォルトでない可視性の属性を持つシンボルである場合、その可視性の属性はリンクされるオブジェクト内の解決シンボルへ伝達されなければなりません。特定のシンボルへの参照または特定のシンボルの定義に対して異なる可視性の属性が指定されている場合は、最も制約の厳しい可視性の属性が、リンクされるオブジェクト内の解決シンボルへ伝達されなければなりません。セクションヘッダーテーブルへのインデックスを保持します。再配置時にセクションが移動すると、シンボル値も変化します。シンボルへの参照はプログラム内の同じ位置を指し示し続けます。いくつかの特別なセクションインデックス値は、ほかの意味付けがされています。SHN_COMMONシンボルは、割り当てられていない共通ブロックを示します。構成要素に類似した整列制約を与えます。倍数のアドレスにシンボル記憶領域を割り当てます。シンボルのサイズは、必要なバイト数を示します。SHN_UNDEFこのセクションテーブルインデックスは、シンボルが未定義であることを意味します。リンカーがこのオブジェクトファイルを、示されたシンボルを定義する他のオブジェクトファイルに結合すると、このシンボルに対するこのファイルの参照は実際の定義に結び付けられます。シンボルテーブルエントリは予約されています。このエントリは以下の値を保持します。0st_size0サイズはないst_info0種類はない。構成要素に対してわずかに異なる解釈を持ちます。定義されたシンボルに対するセクションオフセットを保持する。仮想アドレスを保持する。使用されるシンボルテーブル値は、異なる種類のオブジェクトファイルでも似た意味を持ちますが、適切なプログラムはデータに効率的にアクセスできます。レジスタシンボルに対するシンボルテーブルエントリには、以下の値が入ります。レジスタシンボルフィールド意味st_nameシンボル名文字列テーブルへのインデックス。(スクラッチレジスタ)st_valueレジスタ番号。STB_GLOBAL。(このオブジェクトがこのレジスタシンボルを初期化する場合)。用レジスタ値を、次に示します。意味STO_SPARC_REGISTER_G20x2%g2STO_SPARC_REGISTER_G30x3%g3特定の大域レジスタのエントリが存在しないことは、その特定の大域レジスタがオブジェクトで使用されないことを意味します。型の複数のエントリが存在します。つのエントリが存在します。エントリを見つけることで、追加シンボル情報を見つけます。テーブルには、必ず同じ数のエントリが存在します。格納するために使用されます。シンボルテーブルエントリに対して予約されるので、矛盾は発生しません。Elf64_Syminfo;この構造体の要素を次に示します。フラグを増加させます。エントリに関連付けられた動的オブジェクトを示します。対して予約されています。SYMINFO_BT_SELF0xffff自己に結びつけられるシンボルSYMINFO_BT_PARENT0xfffe親に結びつけられるシンボル。親は、この動的オブジェクトの読み込みを発生させる最初のオブジェクトsi_flagsこのビットフィールドでは、次の表に示すフラグを設定できます。記号参照を記号定義に関連付ける処理です。プログラムが関数を呼び出すとき、関連付けられている呼び出し命令は、実行時に適切な宛先アドレスに制御を渡さなければなりません。再配置可能ファイルには、セクション内容の変更方法を示す情報が存在しなければなりません。その結果、実行可能オブジェクトファイルと共有オブジェクトファイルは、プロセスのプログラムイメージに関する正しい情報を保持できます。再配置エントリは、これらのデータを保持します。Elf64_Rela;この構造体の要素を次に示します。r_offsetこの構成要素は、再配置処理を適用する位置を与えます。オブジェクトファイルが異なると、この構成要素の解釈が多少異なります。再配置可能ファイルの場合、値はセクションのオフセットを示します。再配置セクション自身は、ファイル内の別セクションの変更方法を示します。番目のセクション内の領域を指定します。実行可能ファイルまたは共有オブジェクトの場合、値は再配置の影響を受ける領域の仮想アドレスを示します。この情報により、再配置エントリは、実行時リンカーにとって、より意味のあるものになります。関連するプログラムによるアクセスの効率を高めるため、構成要素の解釈はオブジェクトファイルによって異なりますが、再配置タイプの意味は同じになります。r_infoこの構成要素は、再配置が行われなければならないシンボルテーブルインデックスと、適用される再配置の種類を与えます。呼び出し命令の再配置エントリは、呼び出される関数のシンボルテーブルインデックスを保持します。再配置の種類はプロセッサに固有です。構成要素に適用した結果です。ビットの付随的なデータに分割されます。(Elf64_Xword)(type))r_addendこの構成要素は、再配置可能フィールドに格納される値の計算に使用される定数加数を指定します。エントリには、明示的加数が含まれます。エントリには、変更される位置に暗黙の加数が存在します。再配置エントリのみを使用します。構成要素は再配置加数として機能します。再配置エントリのみを使用します。再配置対象のフィールドは、加数を保持します。すべての場合において、加数と計算された結果は同じバイト順序を使用します。つのセクションを参照することがあります。セクションヘッダーエントリにより示される変更対象のセクションです。各セクションの関係を示します。エントリが必要になります。再配置オフセットが存在すれば、再配置を実行できます。(プロセッサ固有)再配置エントリには、次の図に示す命令およびデータフィールドの変更方法が記述されます。ビット番号はボックスの下隅に表示されます。