Go to main content
Oracle® Solaris 11.3 リンカーとライブラリガイド

印刷ビューの終了

更新: 2015 年 10 月
 
 

Oracle Solaris 10 8/11 リリース

  • リンカーはスタブオブジェクトを作成できます。スタブオブジェクトとは、完全に mapfile から作成される、コードとデータを含まずに実際のオブジェクトと同じリンクインタフェースを提供する共有オブジェクトです。スタブオブジェクトは、非常に簡単にリンカーで作成できます。また、構築の並列処理を増やしたり、構築の複雑さを軽減したりできます。スタブオブジェクトを参照してください。

  • リンカーは、–z guidance オプションを使用して高品質のオブジェクトを作成するためのガイドを提供できます。ld(1)を参照してください。

  • アーカイブ処理では、サイズが 4G バイトより大きいアーカイブを作成できるようになりました。

  • ローカルの監査者が la_preinit()la_activity() のイベントを受け取ることができるようになりました。実行時リンカーの監査インタフェースを参照してください。

  • 遅延依存関係により、機能が存在するかどうかを検査するモデルがより堅牢になりました。機能のテストおよび dlopen() の代替手段の提供を参照してください。

  • 新しい mapfile 構文が利用できるようになりました。Chapter 9, mapfileを参照してください。この構文は、元の System V Release 4 の言語の構文に比べて、可読性と拡張性が向上しています。元の mapfile を処理するためのサポート機能はリンカー内に完全に保持されています。元の Appendix B, System V Release 4 (バージョン 1) Mapfile 構文と使用方法については、Appendix B, System V Release 4 (Version 1) Mapfilesを参照してください。

  • 個々のシンボルは機能要件と関連付けることができます。機能要件の指定を参照してください。この機能は、動的オブジェクト内の最適化された機能ファミリの作成に対応しています。シンボル機能関数ファミリの作成および 機能セクションを参照してください。

  • リンカーで作成され、Oracle Solaris 固有の ELF データを含むオブジェクトは、e_ident[EI_OSABI] ELF ヘッダー内で ELFOSABI_SOLARIS のタグが付けられます。これまで、ELFOSABI_NONE がすべてのオブジェクトに使用されてきました。この変更は主に情報を充実させるためであり、実行時リンカーは引き続き ELFOSABI_NONEELFOSABI_SOLARIS は同じであると見なします。しかし、elfdump(1)および類似の診断ツールは、この ABI 情報を使用して、特定のオブジェクトに関するより正確な情報を作成できます。

  • elfdump(1)は拡張され、e_ident[EI_OSABI] ELF ヘッダーの値、または新しい –O オプションを使用して、特定の ABI に固有の ELF データの型と値を特定したり、この情報を使用してオブジェクトの内容をより正確に表示したりできるようになりました。Linux オペレーティングシステムからのオブジェクト内の ABI 固有情報を表示する機能が大幅に拡張されました。

  • プロセスでロードされたオブジェクトのセグメント対応付け情報は、dlinfo(3C)のフラグ RTLD_DI_MMAPCNT および RTLD_DI_MMAPS を使用すると取得できます。

  • リンカーは多くの GNU リンカーオプションを認識します。ld(1)を参照してください。

  • リンカーに SPARC および x86 ターゲットのためのクロスリンクが提供されます。クロスリンク編集を参照してください。

  • リンカーに SHF_MERGE | SHF_STRING 文字列セクションをマージする機能が提供されます。セクションのマージを参照してください。

  • 実行可能プログラムと共有オブジェクトの作成時に、デフォルトで再配置セクションがマージされるようになりました。再配置セクションの結合を参照してください。この動作を使用するには、リンカーの –z combreloc オプションが必要でした。このデフォルトの動作を無効にして、再配置を適用する必要のあるセクションで 1 対 1 関係を保持するために、–z nocombreloc が用意されています。

  • 新しいユーティリティー elfedit(1)を使って ELF オブジェクトを編集できます。

  • 新しいユーティリティー elfwrap(1)を使用すると、任意のデータファイルを ELF 再配置可能オブジェクト内にカプセル化できます。

  • 追加のシンボル可視性属性が提供されています。SYMBOL_SCOPE および SYMBOL_VERSION ディレクティブおよび表 35 にある、エクスポート済み、シングルトン、および削除属性の記述を参照してください。

  • リンカーとその関連 ELF ユーティリティーが、/usr/ccs/bin から /usr/bin に移動されました。リンカーの起動を参照してください。

  • シンボルソートセクションが追加され、メモリーアドレスとシンボリック名の関連付けを簡単にできるようになりました。シンボルソートセクションを参照してください。

  • 動的オブジェクトで使用できるシンボルテーブル情報が、新しい .SUNW_ldynsym セクションの追加によって拡張されています。シンボルテーブルセクションおよび表 17 を参照してください。

  • crle(1)によって管理される構成ファイルの形式が拡張され、ファイルの識別機能が向上しています。改善された形式により、実行時リンカーが互換性のないプラットフォームで生成された構成ファイルを使用しないようになります。

  • 関連付けたシンボルのサイズを再配置の計算で使用するために、新しい再配置タイプが追加されました。再配置を参照してください。

  • –z rescan-now–z recan-start、および –z rescan-end のオプションでは、アーカイブライブラリをリンク編集に容易に指定できるようになりました。コマンド行上のアーカイブの位置を参照してください。

廃止機能

次の機能が廃止されました。これらの機能は内部機能、またはほとんど使用されない機能です。既存の関連する ELF 定義はすべて無視されますが、elfdump(1)などのツールによって、定義を引き続き表示できます。

DT_FEATURE_1

この動的セクションタグは実行時の機能要件を特定しました。動的セクションを参照してください。このタグは機能フラグ DTF_1_PARINIT および DTF_1_CONVEXP を提供しました。DT_FEATURE_1 タグおよび関連フラグは、今後、リンカーによって作成されたり、実行時リンカーによって処理されたりしません。