Oracle® Solaris 11.2 リンカーとライブラリガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

未使用セクションの削除

入力再配置可能オブジェクトファイルに含まれる ELF セクションは、3 つの条件が真である場合に未使用と判定されます。

  • そのセクションは、大域シンボルを提供しません。

  • そのセクションは、割り当て可能なセグメントで使用されます。

  • そのセクションは、リンク編集で使用される (任意のオブジェクトに含まれる) ほかの使用済みセクションによって参照されません。

未使用セクションをリンク編集から破棄するには、–z discard-unused=sections オプションを使用します。

動的オブジェクトの外部インタフェースを定義することにより、未使用セクションを診断して破棄するリンカーの機能を向上させることができます。Chapter 9, インタフェースおよびバージョン管理を参照してください。インタフェースを定義すると、インタフェースの一部として定義されていない大域シンボルが局所に限定されます。ほかのオブジェクトから参照されない限定されたシンボルは、破棄の対象として明確に識別されます。

関数やデータ変数が独自のセクションに割り当てられている場合、リンカーはこれらの項目を個別に破棄できます。このセクション改良は、–xF コンパイラオプションを使用して実現できます。