リロケータブルバイナリ
リンカがオブジェクトファイル内のセグメント情報とリロケーションテーブルを読み込み以下のようにリロケーションを実施する。
各オブジェクトファイルにはテキスト、データ、BSS といったセクションが存在する。全オブジェクトファイルをひとつの実行ファイルにまとめる際にそれらセクションを種類ごとにまとめるように配置する。そして、各セクションの配置アドレスを決定する。これによって各シンボルのアドレスが決定される。この時点で各シンボル(関数名や変数名)はユニークな実行時アドレスが割り当てられる。
各セクションでシンボルを参照している箇所を修正して正しい実行時アドレスを参照するようにする。