名 前
ld − GNU リ ン カ
書 式
ld |
[−o output] objfile... |
[−Aarchitecture]
[−b input-format]
[−Bstatic] [−Bdynamic]
[−Bsymbolic]
[−c commandfile]
[−−cref]
[−d|−dc|−dp]
[−defsym symbol =
expression] [−e entry]
[−embedded−relocs] [−E]
[−export−dynamic]
[−f name]
[−−auxiliary name]
[−F name]
[−−filter name]
[−format input-format]
[−g] [−G size]
[−h name]
[−soname name]
[−−help] [−i]
[−lar] [−Lsearchdir]
[−M] [−Map mapfile]
[−m emulation]
[−n|−N]
[−noinhibit-exec]
[−no−keep−memory]
[−no−warn−mismatch]
[−oformat output-format]
[−R filename] [−relax]
[−r|−Ur]
[−rpath directory]
[−rpath−link directory]
[−S] [−s] [−shared]
[−sort−common]
[−split−by−reloc count]
[−split−by−file]
[−T commandfile]
[−Ttext textorg]
[−Tdata dataorg]
[−Tbss bssorg] [−t]
[−u sym] [−V]
[−v] [−−verbose]
[−−version]
[−warn−common]
[−warn−constructors]
[−warn−multiple−gp]
[−warn−once]
[−warn−section−align]
[−−whole−archive]
[−−no−whole−archive]
[−−wrap symbol]
[−X] [−x]
説 明
ld は 複 数 の オ ブ ジ ェ ク ト フ ァ イ ル や 書 庫 (archive) フ ァ イ ル を 結 合 し 、 そ れ ら の デ ー タ を リ ロ ケ ー ト し て 、 シ ン ボ ル の 参 照 を ま と め る 。 新 た な 実 行 プ ロ グ ラ ム を コ ン パ イ ル し て 作 成 す る 作 業 の 最 終 ス テ ッ プ は 、 多 く の 場 合 ld の 呼 び 出 し と な る 。
ld は リ ン カ コ マ ン ド 言 語 の フ ァ イ ル を 受 け 付 け る 。 こ の フ ァ イ ル で リ ン ク 処 理 を 明 示 的 に 、 ま た 完 全 に 制 御 す る こ と が で き る 。 こ の man ペ ー ジ で は コ マ ン ド 言 語 を 説 明 し て い な い 。 コ マ ン ド 言 語 や GNU リ ン カ の そ の 他 の 内 容 に 関 す る 詳 細 は info の ’ld’ エ ン ト リ か 、 マ ニ ュ ア ル で あ る ld: the GNU linker を 参 照 す る こ と 。
ld の 本 バ ー ジ ョ ン で は オ ブ ジ ェ ク ト フ ァ イ ル 関 連 の 作 業 に 汎 用 の BFD ラ イ ブ ラ リ を 用 い て い る 。 こ れ に よ っ て ld で は 多 く の 異 な る フ ォ ー マ ッ ト の オ ブ ジ ェ ク ト フ ァ イ ル を 読 み 、 書 き 、 結 合 す る こ と が で き る よ う に な っ て い る ( 例 え ば COFF や a.out)。 異 な る フ ォ ー マ ッ ト を リ ン ク し て 、 あ ら ゆ る 種 類 の オ ブ ジ ェ ク ト フ ァ イ ル を 作 成 で き る 。 サ ポ ー ト さ れ て い る フ ォ ー マ ッ ト や 関 連 す る ア ー キ テ ク チ ャ に 関 し て は ’ objdump −i’ を 実 行 す れ ば よ い 。 詳 細 は objdump(1) を 見 よ 。
GNU リ ン カ は 柔 軟 で あ る だ け で な く 、 診 断 (diagnostic) メ ッ セ ー ジ も 他 の リ ン カ よ り 詳 し い 。 多 く の リ ン カ は エ ラ ー が 生 じ る と す ぐ に 動 作 を 停 止 し て し ま う が 、 ld は 可 能 な 限 り 処 理 を 続 け 、 他 の エ ラ ー に 関 し て も 知 ら せ よ う と す る (あ る い は エ ラ ー に も か か わ ら ず 出 力 フ ァ イ ル を 作 成 し て し ま う こ と さ え あ る )。
GNU リ ン カ ld は 多 く の 状 況 を カ バ ー す る よ う に 作 成 さ れ て い る 。 ま た 他 の リ ン カ と で き る 限 り 互 換 性 を 保 つ よ う に し て あ る 。 し た が っ て ld の 振 る 舞 い は 、 コ マ ン ド ラ イ ン や 環 境 変 数 に よ っ て 細 か く 制 御 で き る よ う に な っ て い る 。
オ プ シ ョ ン
コ マ ン ド ラ イ ン オ プ シ ョ ン の あ ま り の 多 さ に 怖 気 づ く か も し れ な い が 、 実 際 の 作 業 で 指 定 さ れ る オ プ シ ョ ン は 、 ほ と ん ど の 場 合 少 な い 。 例 と し て ld の 良 く 用 い ら れ る 例 、 サ ポ ー ト さ れ て い る 標 準 的 な Unix シ ス テ ム で 標 準 Unix の オ ブ ジ ェ ク ト フ ァ イ ル を 作 成 す る 場 合 を 考 え よ う 。 こ の よ う な シ ス テ ム で hello.o フ ァ イ ル を リ ン ク す る 作 業 は 以 下 の よ う に な る 。
$ ld −o output /lib/crt0.o hello.o −lc こ の 例 で は ld に output と い う 名 前 の フ ァ イ ル を 作 成 す る よ う に 命 令 し て い る 。 リ ン ク す る フ ァ イ ル は /lib/crt0.o 、 hello.o お よ び 標 準 的 な 検 索 デ ィ レ ク ト リ に あ る ラ イ ブ ラ リ libc.a で あ る 。
ld
の コ マ ン ド ラ
イ ン オ プ シ ョ
ン は 任 意 の 順
序 で 指 定 で き
、 必 要 な だ け
繰 り 返 す こ と
が で き る 。 オ
プ シ ョ ン の 繰
り 返 し は 、 多
く の 場 合 最 初
の も の 以 外 を
無 視 す る か 、
先 の 指 定 (コ マ
ン ド ラ イ ン の
左 に あ る も の )
を 上 書 き す る
か に な る 。 例
外 (複 数 回 の 指
定 が 意 味 を 持
つ も の ) は 以 下
の 通 り 。 −A、
−b (ま た は そ
の 同 義 で あ る
−format)、 −defsym、
−L、 −l、
−R、 −u。 リ
ン ク す る (複 数
の ) オ ブ ジ ェ ク
ト フ ァ イ ル は
objfile と し て 与 え
る が 、 こ れ は
コ マ ン ド ラ イ
ン で オ プ シ ョ
ン の 後 、 前 、
あ る い は 混 ぜ
て 置 い て も 構
わ な い 。 た だ
し objfie を オ プ シ
ョ ン の フ ラ グ
と そ の 引 数 の
間 に 置 く こ と
は で き な い 。
通 常 リ ン カ の
実 行 に は 最 低
一 つ の オ ブ ジ
ェ ク ト フ ァ イ
ル が 指 定 さ れ
る が 、 異 な る
フ ォ ー マ ッ ト
を 持 つ バ イ ナ
リ フ ァ イ ル を
−l、 −R や ス
ク リ プ ト コ マ
ン ド 言 語 で 指
定 す る こ と も
で き る 。 バ イ
ナ リ の 入 力 フ
ァ イ ル が 一 つ
も 指 定 さ れ な
い 場 合 に は 、
リ ン カ は 出 力
フ ァ イ ル を 作
成 せ ず 、 ’ No input
files’ と い う メ
ッ セ ー ジ を 表
示 す る 。 オ プ
シ ョ ン の 引 数
は オ プ シ ョ ン
文 字 の 直 後 に
ス ペ ー ス な し
で 続 け る こ と
も で き る し 、
オ プ シ ョ ン の
次 に 別 の 引 数
と し て 置 く こ
と も で き る 。
-Aarchitecture
ld の こ の リ リ ー ス で は 、 こ の オ プ シ ョ ン は Intel 960 ア ー キ テ ク チ ャ の フ ァ ミ リ に 対 し て の み 意 味 を 持 つ 。 こ の フ ァ ミ リ 向 け に 設 定 さ れ た ld で は 、 architecture 引 数 は 960 フ ァ ミ リ の メ ン バ ー を 示 す 2 文 字 の 名 前 の ど れ か を 指 定 す る 。 こ の オ プ シ ョ ン は 出 力 タ ー ゲ ッ ト を 指 定 し 、 入 力 フ ァ イ ル に あ る 非 互 換 な 命 令 全 て に 対 し て 警 告 メ ッ セ ー ジ を 表 示 す る 。 ま た リ ン カ が 書 庫 ラ イ ブ ラ リ を 検 索 す る 方 法 を 変 更 し 、 指 定 さ れ た ア ー キ テ ク チ ャ に 特 有 の ラ イ ブ ラ リ が 利 用 で き る よ う に す る 。 こ れ は 検 索 す る フ ァ イ ル に 、 ア ー キ テ ク チ ャ を 示 す 文 字 列 を 後 置 し た も の を 加 え る こ と に よ っ て な さ れ る 。 例 え ば 使 用 し て い る ld の コ マ ン ド ラ イ ン に −ACA ま た は −ltry が あ れ ば 、 リ ン カ は 組 み 込 み の 検 索 パ ス と −L で 指 定 さ れ た パ ス を 探 し 、 以 下 の よ う な 名 前 の ラ イ ブ ラ リ を 見 つ け よ う と す る 。
try
libtry.a
tryca
libtryca.a 最 初 の 二 つ
は ど ん な 場 合
で も 検 索 さ れ
る も の で あ り
、 後 の 二 つ は
−ACA を 用 い た
こ と に よ っ て
加 わ っ た も の
で あ る 。
ld の 将 来 の リ リ ー ス で は 、 同 じ よ う な 機 能 が 他 の ア ー キ テ ク チ ャ フ ァ ミ リ で も サ ポ ー ト さ れ る 可 能 性 が あ る 。
−A オ プ シ ョ ン は コ マ ン ド ラ イ ン で 複 数 回 用 い ら れ る と 、 そ れ ぞ れ が 意 味 を 持 つ 。 た だ し ア ー キ テ ク チ ャ フ ァ ミ リ が タ ー ゲ ッ ト の 組 み 合 わ せ を 許 す 場 合 に 限 ら れ る 。 そ れ ぞ れ の 指 定 に よ っ て 、 −l で 指 定 さ れ た ラ イ ブ ラ リ に 名 前 の バ リ エ ー シ ョ ン を 付 け た も の が 検 索 さ れ る 。
−b
input-format コ マ ン ド
ラ イ ン で こ の
オ プ シ ョ ン に
続 い て 指 定 さ
れ た 入 力 オ ブ
ジ ェ ク ト フ ァ
イ ル の バ イ ナ
リ フ ォ ー マ ッ
ト を 指 定 す る
。 通 常 こ の 指
定 は 必 要 な い
。 ld は そ れ ぞ
れ の マ シ ン で
最 も 一 般 的 な
フ ォ ー マ ッ ト
を デ フ ォ ル ト
の 入 力 フ ォ ー
マ ッ ト と す る
よ う に 設 定 さ
れ て い る か ら
で あ る 。 input-format
は テ キ ス ト 文
字 列 で 、 BFD ラ イ
ブ ラ リ に よ っ
て サ ポ ー ト さ
れ て い る 特 定
の フ ォ ー マ ッ
ト の 名 前 で あ
る 。 −format
input−format は ス ク
リ プ ト コ マ ン
ド TARGET と 同 じ 効
力 を 持 つ 。 一
般 的 な バ イ ナ
リ フ ォ ー マ ッ
ト で は な い フ
ァ イ ル を リ ン
ク す る 場 合 に
、 こ の オ プ シ
ョ ン を 指 定 す
る こ と に な る
。 ま た 異 な る
フ ォ ー マ ッ ト
の オ ブ ジ ェ ク
ト フ ァ イ ル を
リ ン ク す る 際
に 、 フ ォ ー マ
ッ ト を 明 示 的
に 変 更 す る 目
的 に −b を 使 う
こ と も で き る
。 こ の 際 に は
−b input−foramt を そ
れ ぞ れ の フ ォ
ー マ ッ ト に 属
す る オ ブ ジ ェ
ク ト フ ァ イ ル
群 の 前 に 挿 入
す る 。 デ フ ォ
ル ト の フ ォ ー
マ ッ ト は 環 境
変 数 GNUTARGET か ら
取 得 さ れ る 。
ス ク リ プ ト で
コ マ ン ド TARGET を
用 い て 入 力 フ
ォ ー マ ッ ト を
設 定 す る こ と
も で き る 。
−Bstatic 共 有 ラ イ
ブ ラ リ に 対 す
る リ ン ク を し
な い 。 こ れ は
共 有 ラ イ ブ ラ
リ を サ ポ ー ト
し て い る プ ラ
ッ ト フ ォ ー ム
に お い て の み
意 味 を 持 つ 。
−Bdynamic 動 的 ラ イ
ブ ラ リ に 対 し
て リ ン ク す る
。 こ れ は 共 有
ラ イ ブ ラ リ を
サ ポ ー ト し て
い る プ ラ ッ ト
フ ォ ー ム に お
い て の み 意 味
を 持 つ 。 そ の
よ う な プ ラ ッ
ト フ ォ ー ム で
は こ の オ プ シ
ョ ン は 通 常 デ
フ ォ ル ト に な
っ て い る 。
−Bsymbolic 共 有 ラ イ
ブ ラ リ を 作 る
場 合 、 グ ロ ー
バ ル シ ン ボ ル
へ の 参 照 を 共
有 ラ イ ブ ラ リ
内 部 の 定 義 (definition)
と 結 合 す る 。
共 有 ラ イ ブ ラ
リ に リ ン ク さ
れ る プ ロ グ ラ
ム で は 、 通 常
こ の 共 有 ラ イ
ブ ラ リ 内 部 の
定 義 を 上 書 き
す る こ と が で
き る 。 こ の オ
プ シ ョ ン が 意
味 を 持 つ の は
共 有 ラ イ ブ ラ
リ を サ ポ ー ト
す る ELF プ ラ ッ ト
フ ォ ー ム の み
で あ る 。
−c commandfile
commandfile か ら リ ン ク コ マ ン ド を 読 む よ う に ld に 指 示 す る 。 こ れ ら の コ マ ン ド は ld デ フ ォ ル ト の リ ン ク フ ォ ー マ ッ ト を 完 全 に 上 書 き す る (デ フ ォ ル ト に 追 加 さ れ る わ け で は な い )。 commandfile で は タ ー ゲ ッ ト フ ォ ー マ ッ ト に 関 し て 必 要 な 記 述 が す べ て さ れ て い な け れ ば な ら な い 。 リ ン ク コ マ ン ド の ス ク リ プ ト は 、 コ マ ン ド ラ イ ン で も 指 定 で き る 。 こ れ に は ス ク リ プ ト の 文 字 列 を ブ ラ ケ ッ ト (’{’ と ’}’) で 囲 う 。
−−cref ク ロ ス リ フ ァ レ ン ス の テ ー ブ ル を 出 力 す る 。 リ ン カ の マ ッ プ フ ァ イ ル が 生 成 さ れ る 場 合 に は 、 ク ロ ス リ フ ァ レ ン ス テ ー ブ ル は マ ッ プ フ ァ イ ル に 出 力 さ れ る 。 そ れ 以 外 の 場 合 に は 標 準 出 力 に 表 示 さ れ る 。 | |
−d | |
−dc | |
−dp こ れ ら の |
3 つ の オ
プ シ ョ ン は 等
価 で あ る 。 複
数 の 形 式 が あ
る の は 他 の リ
ン カ と の 互 換
性 の た め で あ
る 。 こ れ ら の
い ず れ か を 指
定 す る と 、 ld
は リ ロ ケ ー タ
ブ ル 出 力 フ ァ
イ ル が 指 定
(−r) さ れ た 場
合 で も 共 通 シ
ン ボ ル の た め
の 領 域 を 割 り
当 て る 。 ス ク
リ プ ト コ マ ン
ド FORCE_COMMON_ALLOCATION が 同
じ 効 力 を 持 つ
。
−defsym symbol = expression
expression に よ っ て 与 え ら れ た 絶 対 ア ド レ ス を 含 む グ ロ ー バ ル シ ン ボ ル を 出 力 フ ァ イ ル に 生 成 す る 。 こ の オ プ シ ョ ン は 必 要 な だ け コ マ ン ド ラ イ ン に 指 定 で き 、 複 数 の シ ン ボ ル を 定 義 す る こ と が で き る 。 expression の 指 定 に は 簡 単 な 算 術 も サ ポ ー ト さ れ て い る 。 16 進 定 数 や 存 在 す る 他 の シ ン ボ ル を 与 え た り 、 + や − を そ れ ら の 間 の 足 し 引 き に 用 い る こ と も で き る 。 よ り 手 の 込 ん だ 数 式 が 必 要 な 場 合 に は 、 ス ク リ プ ト で リ ン カ コ マ ン ド 言 語 を 用 い る こ と を す す め る 。
−e entry
entry を プ ロ グ ラ ム の エ ン ト リ ポ イ ン ト を 示 す シ ン ボ ル と し て 取 り 扱 う (デ フ ォ ル ト の エ ン ト リ ポ イ ン ト を 上 書 き す る )。 デ フ ォ ル ト と 他 の エ ン ト リ ポ イ ン ト の 指 定 方 法 に つ い て は ld の info の *Note Entry Point:: を 参 照 す る こ と 。
−embedded−relocs こ の オ プ シ ョ ン が 意 味 を 持 つ の は GNU コ ン パ イ ラ や ア セ ン ブ ラ の −membedded−pic オ プ シ ョ ン に よ っ て 生 成 さ れ た MIPS embedded な PIC コ ー ド を リ ン ク す る 場 合 だ け で あ る 。 こ れ は リ ン カ に テ ー ブ ル を 生 成 さ せ る 。 こ の テ ー ブ ル は 、 ポ イ ン タ 値 に 対 し て static に 初 期 化 さ れ た 全 て の デ ー タ を 実 行 時 に リ ロ ケ ー ト す る 際 に 用 い ら れ る 。 詳 細 は testsuite/ld−empic 内 部 の コ ー ド を 参 照 の こ と 。
−E |
−export−dynamic
ELF フ ァ イ ル を 作 成 す る 際 に 、 全 て の シ ン ボ ル を ダ イ ナ ミ ッ ク な シ ン ボ ル テ ー ブ ル に 追 加 す る 。 通 常 ダ イ ナ ミ ッ ク シ ン ボ ル テ ー ブ ル に は 動 的 な オ ブ ジ ェ ク ト に よ っ て 用 い ら れ る シ ン ボ ル の み が 含 ま れ て い る 。 こ の オ プ シ ョ ン は dlopen を 使 う 場 合 な ど に 必 要 と な る 。
−f name
−−auxiliary name
ELF 共 有 オ ブ ジ ェ ク ト を 作 成 す る 際 に 、 内 部 の DT_AUXILIARY フ ィ ー ル ド を 指 定 し た 名 前 に 設 定 す る 。 こ の 指 定 に よ っ て 、 ダ イ ナ ミ ッ ク リ ン カ は 扱 っ て い る 共 有 オ ブ ジ ェ ク ト の シ ン ボ ル テ ー ブ ル を 、 他 の 共 有 オ ブ ジ ェ ク ト name の シ ン ボ ル テ ー ブ ル の 補 助 フ ィ ル タ と し て 用 い る よ う に な る 。
−F name
−−filter name
ELF 共 有 オ ブ ジ ェ ク ト を 作 成 す る 際 に 、 内 部 の DT_FILTER フ ィ ー ル ド を 指 定 し た 名 前 に 設 定 す る 。 こ の 指 定 に よ っ て 、 ダ イ ナ ミ ッ ク リ ン カ は そ の 共 有 オ ブ ジ ェ ク ト の シ ン ボ ル テ ー ブ ル を 、 他 の 共 有 オ ブ ジ ェ ク ト name の シ ン ボ ル テ ー ブ ル の フ ィ ル タ と し て 用 い る よ う に な る 。
−format input−format
−b input−format と 同 義 。
−g 受 け 付 け る が 無 視 さ れ る 。 他 の ツ ー ル と の 互 換 性 の た め に 用 意 さ れ て い る 。 |
−G size
MIPS ECOFF に お い て 、 GP レ ジ ス タ を 用 い て 最 適 化 す る オ ブ ジ ェ ク ト の 最 大 サ イ ズ を size に 設 定 す る 。 他 の オ ブ ジ ェ ク ト フ ァ イ ル フ ォ ー マ ッ ト で は 無 視 さ れ る 。
−h name
−soname name
ELF 共 有 オ ブ ジ ェ ク ト を 作 成 す る と き 、 内 部 の DT_SONAME フ ィ ー ル ド を 指 定 し た 名 前 に 設 定 す る 。 実 行 フ ァ イ ル が DT_SONAME フ ィ ー ル ド を 持 つ 共 有 オ ブ ジ ェ ク ト と リ ン ク さ れ る と 、 こ れ の 実 行 時 に ダ イ ナ ミ ッ ク リ ン カ は DT_SONAME に よ っ て 指 定 さ れ た 共 有 オ ブ ジ ェ ク ト を ロ ー ド し よ う と す る (通 常 は リ ン カ に 対 し て 指 定 さ れ た フ ァ イ ル を ロ ー ド す る )。
−−help コ マ ン ド ラ イ ン オ プ シ ョ ン の 要 約 を 標 準 出 力 に 表 示 し て 終 了 す る 。 こ の オ プ シ ョ ン と |
−−version は 、 他 の GNU プ ロ グ ラ ム と の 互 換 性 の た め ダ ッ シ ュ (−) 二 つ で 始 ま る 。 こ れ 以 外 の オ プ シ ョ ン は 他 の リ ン カ と の 互 換 性 の た め ダ ッ シ ュ 一 つ で 始 ま る 。
−i イ ン ク リ メ ン タ ル リ ン ク を 実 行 す る |
(オ プ シ ョ ン −r と 同 じ )。 | ||
−lar ア ー カ イ ブ フ ァ イ ル |
ar を リ
ン ク す る フ ァ
イ ル の リ ス ト
に 加 え る 。 こ
の オ プ シ ョ ン
は 何 回 で も 指
定 で き る 。 ld
は ar が 指 定 さ
れ る ご と に 、
libar.a が 見 つ か
る ま で 検 索 パ
ス を 探 す 。
−Lsearchdir こ の コ
マ ン ド は searchdir
を ld の 書 庫 ラ
イ ブ ラ リ の 検
索 パ ス に 追 加
す る 。 こ の オ
プ シ ョ ン は 必
要 な だ け 指 定
で き る 。 デ フ
ォ ル ト の 検 索
パ ス (−L が 指
定 さ れ な か っ
た と き の 検 索
パ ス ) は ld が 用
い て い る エ ミ
ュ レ ー シ ョ ン
の モ ー ド に 依
存 す る 。 ま た
設 定 に 依 存 す
る 場 合 も あ る
。 リ ン ク ス ク
リ プ ト で は
SEARCH_DIR コ マ ン ド
を 用 い て こ の
パ ス を 設 定 す
る こ と も で き
る 。
−M 標 準 出 力 に リ ン ク マ ッ プ を 表 示 す る 。 リ ン ク マ ッ プ に は |
マ ッ プ さ れ た シ ン ボ ル の 位 置 情 報 と グ ロ ー バ ル な 共 通 メ モ リ 領 域 の 割 当 て 情 報 が 含 ま れ て い る 。
−Map
mapfile フ ァ イ ル
mapfile に リ ン ク マ
ッ プ を 出 力 す
る 。 リ ン ク マ
ッ プ に は ld に
よ っ て マ ッ プ
さ れ た シ ン ボ
ル の 位 置 情 報
と グ ロ ー バ ル
な 共 通 storage の 割
当 て 情 報 が 含
ま れ て い る 。
−m emulation リ ン カ
emulation を エ ミ ュ
レ ー ト す る 。
エ ミ ュ レ ー ト
で き る も の の
リ ス ト は
−−verbose ま た は
−V で 得 ら れ る
。 こ の オ プ シ
ョ ン は コ ン パ
イ ル 時 の デ フ
ォ ル ト (ld の 設
定 を 行 っ た シ
ス テ ム 向 け の
リ ン カ ) を 上 書
き す る 。
−N |
text と data セ ク シ ョ ン を 読 み 書 き 可 能 に す る 。 出 力 フ ォ ー マ ッ ト が Unix ス タ イ ル の マ ジ ッ ク ・ ナ ン バ ー を サ ポ ー ト し て い る 場 合 は 、 出 力 フ ァ イ ル に OMAGIC が マ ー ク さ れ る 。 |
−N オ プ シ ョ ン を 指 定 す る と リ ン カ は data セ グ メ ン ト の ペ ー ジ 位 置 調 整 を 行 わ な い 。
−n |
text セ グ メ ン ト を リ ー ド オ ン リ ー に す る 。 可 能 な 場 合 は NMAGIC が 書 き 込 ま れ る 。 |
−noinhibit−exec
通 常 リ ン カ は
リ ン ク 処 理 の
途 中 で エ ラ ー
に な る と 出 力
フ ァ イ ル を 生
成 し な い 。 こ
の フ ラ グ を も
ち い る と 致 命
的 で な い エ ラ
ー の 場 合 に は
出 力 フ ァ イ ル
を 残 す よ う に
指 定 で き る 。
−no−keep−memory 通 常
リ ン カ は メ モ
リ 消 費 量 よ り
も 実 行 速 度 を
優 先 す る よ う
に 最 適 化 さ れ
て い る 。 す な
わ ち 入 力 フ ァ
イ ル の シ ン ボ
ル テ ー ブ ル が
メ モ リ に キ ャ
ッ シ ュ さ れ て
い る 。 こ の オ
プ シ ョ ン を 指
定 す る と 、 メ
モ リ 消 費 を 抑
え る よ う に な
る (必 要 に 応 じ
て シ ン ボ ル テ
ー ブ ル を 読 み
直 す )。 こ の オ
プ シ ョ ン は 大
き な 実 行 フ ァ
イ ル を リ ン ク
す る と き 、 メ
モ リ を 使 い 果
た し て し ま う
よ う な 場 合 に
指 定 す る 必 要
が あ る 。
−no−warn−mismatch 何 ら
か の 理 由 で マ
ッ チ し な い 入
力 フ ァ イ ル を
い っ し ょ に リ
ン ク し よ う と
す る と 、 リ ン
カ は 通 常 エ ラ
ー に な り ま す
。 こ の 原 因 と
し て は 、 そ れ
ら の 入 力 フ ァ
イ ル が 異 な る
プ ロ セ ッ サ 用
に 、 あ る い は
異 な る エ ン デ
ィ ア ン 用 に コ
ン パ イ ル さ れ
た な ど が 考 え
ら れ ま す 。 こ
の オ プ シ ョ ン
を 指 定 す る と
、 リ ン カ は こ
の 種 の 潜 在 的
な エ ラ ー を 黙
っ て 許 可 し ま
す 。 こ の オ プ
シ ョ ン は 不 用
意 に 使 う べ き
で は あ り ま せ
ん 。 リ ン カ の
エ ラ ー を ど う
し て も 避 け た
い よ う な 、 特
殊 な 作 業 を 行
っ て い る と き
に 限 る べ き で
す 。
−o output
output は ld に よ っ て 作 成 さ れ る プ ロ グ ラ ム の 名 前 で あ る 。 こ の オ プ シ ョ ン が 指 定 さ れ な か っ た 場 合 は a.out が デ フ ォ ル ト と し て 用 い ら れ る 。 ス ク リ プ ト コ マ ン ド OUTPUT で も 出 力 フ ァ イ ル 名 を 指 定 で き る 。
−oformat
output−format 出 力 さ
れ る オ ブ ジ ェ
ク ト フ ァ イ ル
の バ イ ナ リ フ
ォ ー マ ッ ト を
指 定 す る 。 通
常 は こ の オ プ
シ ョ ン は 必 要
な い 。 ld で の
デ フ ォ ル ト の
出 力 フ ォ ー マ
ッ ト は 、 そ れ
ぞ れ の マ シ ン
で 最 も 普 通 の
フ ォ ー マ ッ ト
に な る よ う に
設 定 さ れ て い
る か ら で あ る
。 output-format は テ キ
ス ト 文 字 列 で
、 BFD ラ イ ブ ラ リ
で サ ポ ー ト さ
れ て い る 特 定
の フ ォ ー マ ッ
ト の 名 前 で あ
る 。 ス ク リ プ
ト コ マ ン ド
OUTPUT_FORMAT で も 出 力
フ ォ ー マ ッ ト
を 指 定 で き る
。 し か し こ の
オ プ シ ョ ン は
ス ク リ プ ト で
の 指 定 を 上 書
き す る 。
−R filename シ ン ボ
ル 名 と そ れ ら
の ア ド レ ス を
filename か ら 読 み 込
む 。 し か し そ
れ ら の リ ロ ケ
ー ト や 出 力 へ
の 追 加 は 行 わ
な い 。 こ れ に
よ っ て 出 力 フ
ァ イ ル で は 、
(他 の プ ロ グ ラ
ム で 定 義 さ れ
た ) メ モ リ 上 の
絶 対 ア ド レ ス
を シ ン ボ ル を
用 い て 参 照 で
き る こ と に な
る 。
−relax 機 能 は マ シ ン に 依 存 す る 。 現 在 で は |
H8/300 で の み サ ポ ー ト さ れ て い |
る 。 プ ラ ッ ト フ ォ ー ム に よ っ て は 、 こ の オ プ シ ョ ン を 指 定 す る と グ ロ ー バ ル な 最 適 化 を 行 う 場 合 も あ る 。 こ れ は リ ン カ が プ ロ グ ラ ム の ア ド レ ス を 置 き 換 え る (出 力 さ れ る オ ブ ジ ェ ク ト フ ァ イ ル の ア ド レ ス モ ー ド を relax さ せ た り 新 し い 命 令 を 同 期 さ せ る ) 場 合 に 可 能 と な る 。 サ ポ ー ト さ れ て い な い プ ラ ッ ト フ ォ ー ム で は 、 −relax は 受 け 付 け ら れ る が 何 も 起 こ ら な い 。
−r リ ロ ケ ー タ ブ ル な 出 力 を 生 成 す る 。 す な わ ち 再 び |
ld の 入 力 と し て 用 い |
る こ と が で き る よ う な フ ァ イ ル を 生 成 す る 。 こ れ は し ば し ば 部 分 (partial) リ ン ク と 呼 ば れ る 。 ま た 標 準 Unix の マ ジ ッ ク ・ ナ ン バ ー を サ ポ ー ト す る 環 境 で は 、 こ の オ プ シ ョ ン は 出 力 フ ァ イ ル の マ ジ ッ ク ・ ナ ン バ ー を OMAGIC に す る 。 こ の オ プ シ ョ ン が 指 定 さ れ な か っ た 場 合 は 、 完 全 な フ ァ イ ル が 生 成 さ れ る 。 C++ プ ロ グ ラ ム を リ ン ク す る 場 合 、 こ の オ プ シ ョ ン は コ ン ス ト ラ ク タ へ の 参 照 を 解 決 し な い 。 C++ の 場 合 に は 代 わ り に −Ur を 用 い る こ と が で き る 。 こ の オ プ シ ョ ン は −i と 同 じ 。
−rpath directory デ ィ レ ク ト リ を 実 行 時 ラ イ ブ ラ リ の 検 索 パ ス に 追 加 す る 。 こ れ は ELF の 実 行 フ ァ イ ル を 共 有 オ ブ ジ ェ ク ト と リ ン ク す る と き に 用 い ら れ る 。 −rpath の 引 き 数 は 全 て 結 合 さ れ 、 ダ イ ナ ミ ッ ク リ ン カ に 渡 さ れ る 。 ダ イ ナ ミ ッ ク リ ン カ は 、 こ れ を 用 い て ロ ー ド す る 共 有 オ ブ ジ ェ ク ト を 実 行 時 に 決 定 す る 。 −rpath オ プ シ ョ ン は リ ン ク に 明 示 的 に 含 ま れ て い る 共 有 オ ブ ジ ェ ク ト に よ っ て 必 要 と さ れ る 別 の 共 有 オ ブ ジ ェ ク ト を 指 定 す る の に 用 い る こ と も で き る 。 −rpath−link オ プ シ ョ ン の 説 明 を 見 よ 。 ELF 実 行 フ ァ イ ル の −rpath が 指 定 さ れ な い 場 合 に は 、 (指 定 さ れ て い れ ば ) 環 境 変 数 LD_RUN_PATH の 値 が 用 い ら れ る 。
−rpath オ プ シ ョ ン は SunOS で 用 い る こ と も で き る 。 SunOS の デ フ ォ ル ト で は 、 リ ン カ は 実 行 時 の 検 索 パ ス を −L オ プ シ ョ ン で 与 え ら れ た パ ス か ら 生 成 す る 。 −rpath が 用 い ら れ る と 、 実 行 時 の 検 索 パ ス は −rpath オ プ シ ョ ン で 与 え ら れ た パ ス の み か ら 生 成 さ れ 、 −L オ プ シ ョ ン は 無 視 さ れ る 。 こ れ は gcc を 使 っ て い て 、 −L が た く さ ん 指 定 さ れ て し ま う (こ れ ら は NFS マ ウ ン ト さ れ た フ ァ イ ル シ ス テ ム か も し れ な い ) 場 合 な ど に 便 利 で あ る 。
−rpath−link directory
ELF か SunOS を 用 い て い る 場 合 、 あ る 共 有 ラ イ ブ ラ リ が 別 の 共 有 ラ イ ブ ラ リ を 必 要 と す る 場 合 が あ る 。 こ れ は ld −shared に よ る リ ン ク で 入 力 フ ァ イ ル に 共 有 ラ イ ブ ラ リ が 含 ま れ て い る 場 合 に 起 こ る 。 リ ン カ が 非 共 有 (非 リ ロ ケ ー タ ブ ル ) な リ ン ク を 行 っ て い る と き に 、 こ の よ う な 依 存 関 係 に 遭 遇 す る と 、 リ ン カ は 自 動 的 に そ の 必 要 と さ れ て い る 共 有 ラ イ ブ ラ リ も (明 示 さ れ て い な く て も ) リ ン ク し て し ま お う と す る 。 こ の よ う な 場 合 に −rpath−link オ プ シ ョ ン は 検 索 す る 最 初 の デ ィ レ ク ト リ セ ッ ト を 指 定 す る 。 −rpath−link オ プ シ ョ ン で は デ ィ レ ク ト リ 名 の 並 び を コ ロ ン で 区 切 っ て 一 度 に 指 定 す る こ と も で き る し 、 複 数 回 用 い て 指 定 す る こ と も で き る 。 必 要 な 共 有 ラ イ ブ ラ リ が 見 つ か ら な い と 、 リ ン カ は 警 告 を 出 し て リ ン ク 処 理 を 継 続 し よ う と す る 。
−S 出 力 フ ァ イ ル か ら デ バ ッ ガ の シ ン ボ ル 情 報 を 削 除 す る |
(全 て の シ ン ボ ル |
で は な い )。
−s 出 力 フ ァ イ ル か ら 全 て の シ ン ボ ル 情 報 を 削 除 す る 。 |
−shared 共
有 ラ イ ブ ラ リ
を 生 成 す る 。
現 在 の と こ ろ ELF
と SunOS プ ラ ッ ト フ
ォ ー ム で の み
サ ポ ー ト さ れ
て い る (実 際 に
は SunOS で は 不 要 で
あ る 。 な ぜ な
ら リ ン カ は 未
定 義 シ ン ボ ル
が 存 在 し て い
た り −e オ プ シ
ョ ン が 指 定 さ
れ て い る 場 合
に は 自 動 的 に
共 有 ラ イ ブ ラ
リ を 生 成 す る
か ら で あ る )。
−sort−common 通 常 ld
が グ ロ ー バ ル
な 共 通 シ ン ボ
ル を そ れ ぞ れ
の 出 力 セ ク シ
ョ ン に 配 置 す
る に あ た っ て
は 、 そ れ ら は
サ イ ズ に よ っ
て ソ ー ト さ れ
る 。 ま ず 1 バ イ
ト 変 数 の シ ン
ボ ル 、 つ い で 2
バ イ ト 、 4 バ イ
ト 変 数 の シ ン
ボ ル 、 最 後 に
そ れ 以 外 の も
の が 並 ぶ 。 こ
の オ プ シ ョ ン
は ア ラ イ ン メ
ン ト に よ っ て
生 じ て し ま う
シ ン ボ ル 間 の
ギ ャ ッ プ を 防
止 す る 。 こ の
オ プ シ ョ ン は
ソ ー ト を 行 わ
な い よ う に す
る 。
−split−by−reloc count
出 力 フ ァ イ ル
に 余 分 な セ ク
シ ョ ン を 生 成
し て 、 フ ァ イ
ル 中 の そ れ ぞ
れ の 出 力 セ ク
シ ョ ン が count 以
上 の リ ロ ケ ー
シ ョ ン を 含 ま
な い よ う に す
る 。 こ れ は COFF オ
ブ ジ ェ ク ト フ
ァ イ ル フ ォ ー
マ ッ ト の 巨 大
な リ ロ ケ ー タ
ブ ル フ ァ イ ル
を 、 リ ア ル タ
イ ム カ ー ネ ル
に ダ ウ ン ロ ー
ド す る 場 合 な
ど に 役 に 立 つ
。 COFF は セ ク シ ョ
ン あ た り 65535 以 上
の リ ロ ケ ー シ
ョ ン を 持 て な
い か ら で あ る
。 任 意 の セ ク
シ ョ ン を サ ポ
ー ト し て い な
い フ ォ ー マ ッ
ト で は 、 こ の
オ プ シ ョ ン は
機 能 し な い こ
と に 注 意 。 リ
ン カ は そ れ ぞ
れ の 入 力 セ ク
シ ョ ン を 分 割
し て 再 配 置 す
る わ け で は な
い 。 し た が っ
て 入 力 フ ァ イ
ル の セ ク シ ョ
ン に count 以 上 の
リ ロ ケ ー シ ョ
ン を 含 む も の
が あ れ ば 、 そ
れ に 対 応 し て
そ れ だ け の リ
ロ ケ ー シ ョ ン
を 持 っ た 出 力
セ ク シ ョ ン は
作 成 さ れ て し
ま う 。
−split−by−file
−split−by−reloc と 似 て い る が 、 そ れ ぞ れ の 入 力 フ ァ イ ル に 対 し て 新 た な 出 力 セ ク シ ョ ン を 生 成 す る 。
−Tbss org
−Tdata org
−Ttext org そ れ ぞ
れ 出 力 フ ァ イ
ル の bss、 data、
text セ グ メ ン ト
に 対 し て org を
開 始 ア ド レ ス
に す る 。 org は 16
進 の 整 数 で な
け れ ば な ら な
い 。
−T commandfile
−c commandfile と 等 価 で あ る 。 他 の ツ ー ル と の 互 換 性 の た め に 用 意 さ れ た 。
−t 入 力 フ ァ イ ル を |
ld が 処 理 す る ご と に 、 フ ァ イ ル の 名 前 を 表 示 す る 。 | ||
−u sym |
sym を 出 力 フ ァ イ ル に 未 定 義 な シ ン ボ ル と し て 挿 入 す る 。 例 え ば こ れ は 、 標 準 ラ イ ブ ラ リ か ら 付 加 的 な モ ジ ュ ー ル を リ ン ク す る ト リ ガ に 使 う こ と が で き る 。 −u は 必 要 な 未 定 義 シ ン ボ ル の 数 だ け 繰 り 返 す こ と が で き る 。
−Ur |
C++ プ ロ グ ラ ム 以 外 で は 、 こ の オ プ シ ョ ン は −r と 等 価 で あ り 、 リ ロ ケ ー タ ブ ル な 出 力 を 生 成 す る (つ ま り 再 び ld の 入 力 フ ァ イ ル に 用 い る こ と の で き る フ ァ イ ル を 出 力 す る )。 C++ プ ロ グ ラ ム を リ ン ク す る 際 に は 、 −Ur は −r と 異 な り 、 コ ン ス ト ラ ク タ へ の 参 照 を 解 決 す る 。 |
−−verbose
ld の バ ー ジ ョ ン 番 号 を 表 示 し 、 サ ポ ー ト さ れ て い る エ ミ ュ レ ー シ ョ ン を リ ス ト す る 。 入 力 フ ァ イ ル が そ れ ぞ れ オ ー プ ン で き る か ど う か も 表 示 す る 。
−v, −V |
ld の バ ー ジ ョ ン 番 号 を 表 示 す る 。 −V は サ ポ ー ト さ れ て い る エ ミ ュ レ ー シ ョ ン も リ ス ト す る 。 |
−−version
ld の バ ー ジ ョ ン 番 号 を 表 示 し て 終 了 す る 。
−warn−common
共 通 シ ン ボ ル
が 他 の 共 通 シ
ン ボ ル や シ ン
ボ ル 定 義 と 結
合 さ れ て い る
場 合 に 警 告 を
発 す る 。 Unix の リ
ン カ は こ の 点
に は 比 較 的 寛
容 で あ る が 、
他 の OS の リ ン カ
に は そ う で な
い も の も あ る
。 こ の オ プ シ
ョ ン は グ ロ ー
バ ル シ ン ボ ル
を 結 合 す る こ
と に よ っ て 生
じ る 問 題 点 を
見 つ け る 手 が
か り に な る か
も し れ な い 。
−warn−constructors グ ロ
ー バ ル コ ン ス
ト ラ ク タ が 用
い ら れ た ら 警
告 を 発 す る 。
こ れ が 意 味 を
持 つ オ ブ ジ ェ
ク ト フ ァ イ ル
フ ォ ー マ ッ ト
は 少 な い 。 COFF や
ELF で は 、 リ ン カ
は グ ロ ー バ ル
コ ン ス ト ラ ク
タ を 検 出 す る
こ と が で き な
い 。
−warn−multiple−gp 出 力
フ ァ イ ル に 複
数 の グ ロ ー バ
ル な ポ イ ン タ
値 が 必 要 な 場
合 に 警 告 を 発
す る 。 こ の オ
プ シ ョ ン が 意
味 を 持 つ の は
、 Alpha の よ う な 特
殊 な プ ロ セ ッ
サ だ け で あ る
。
−warn−once 未 定 義
シ ン ボ ル に 関
す る 警 告 を シ
ン ボ ル ご と に
一 度 だ け に す
る 。 デ フ ォ ル
ト で は そ の シ
ン ボ ル を 参 照
す る モ ジ ュ ー
ル 一 つ に つ い
て 一 回 警 告 が
出 る 。
−warn−section−align 出 力
セ ク シ ョ ン の
ア ド レ ス が ア
ラ イ ン メ ン ト
の た め に 変 更
さ れ た 場 合 に
警 告 を 出 す 。
通 常 ア ラ イ ン
メ ン ト は 入 力
セ ク シ ョ ン に
よ っ て 設 定 さ
れ る 。 ア ド レ
ス は 明 示 的 に
指 定 さ れ な か
っ た 場 合 (つ ま
り SECTIONS コ マ ン ド
が セ ク シ ョ ン
の ス タ ー ト ア
ド レ ス を 指 定
し な か っ た 場
合 ) に の み 変 更
さ れ う る 。
−−whole−archive コ マ
ン ド ラ イ ン で
こ の オ プ シ ョ
ン 以 降 に 指 定
さ れ た そ れ ぞ
れ の 書 庫 に 対
し て 、 書 庫 内
部 の 全 て の オ
ブ ジ ェ ク ト フ
ァ イ ル を リ ン
ク す る (デ フ ォ
ル ト で は 書 庫
か ら 必 要 な オ
ブ ジ ェ ク ト フ
ァ イ ル を 検 索
す る )。 こ れ は
通 常 書 庫 フ ァ
イ ル を 共 有 ラ
イ ブ ラ リ に 変
え る と き 、 内
部 の オ ブ ジ ェ
ク ト を 全 て 共
有 ラ イ ブ ラ リ
に 含 め る た め
に 指 定 さ れ る
。
−−no−whole−archive コ
マ ン ド ラ イ ン
で こ の オ プ シ
ョ ン 以 降 に 現
わ れ る 書 庫 に
対 し て
−−whole−archive オ プ
シ ョ ン の 効 果
を 無 効 に す る
。
−−wrap symbol
symbol に 対 し て ラ ッ パ 機 能 を 用 い る 。 symbol へ の 未 定 義 な 参 照 は 全 て __wrap_symbol と し て 解 決 さ れ る 。 ま た __REAL_symbol へ の 未 定 義 な 参 照 は す べ て symbol と し て 解 決 さ れ る 。
−X 一 時 的 な ロ ー カ ル シ ン ボ ル を す べ て 削 除 す る 。 ほ と ん ど の タ ー ゲ ッ ト で は 、 こ れ は |
’L’ で 始 ま る ロ ー カ ル シ ン ボ ル を 意 味 す る 。
−x ロ ー カ ル シ ン ボ ル を 全 て 削 除 す る 。 |
環 境 変 数
ld の 動 作 は 環 境 変 数 GNUTARGET に よ っ て 変 更 す る こ と が で き る 。
GNUTARGET は −b (ま た は 等 価 な オ プ シ ョ ン −format) を 用 い な い 場 合 の 入 力 フ ァ イ ル の オ ブ ジ ェ ク ト フ ォ ー マ ッ ト を 定 義 す る 。 こ の 値 は 入 力 フ ォ ー マ ッ ト に 対 し て 有 効 な BFD 名 の 一 つ で な け れ ば な ら な い 。 GNUTARGET が default に 設 定 さ れ て い た 場 合 に は 、 BFD は 入 力 さ れ る バ イ ナ リ フ ァ イ ル を 調 べ て 入 力 フ ォ ー マ ッ ト を 決 定 し よ う と す る 。 こ れ は 通 常 は 成 功 す る が 、 決 定 で き な い 可 能 性 も あ る 。 オ ブ ジ ェ ク ト フ ァ イ ル フ ォ ー マ ッ ト で 用 い ら れ て い る マ ジ ッ ク ・ ナ ン バ ー が 一 意 で あ る こ と を 保 証 す る 方 法 は 存 在 し な い か ら で あ る 。 し か し BFD を そ れ ぞ れ の シ ス テ ム で 設 定 す る 際 に は 、 そ の シ ス テ ム に 一 般 的 な フ ォ ー マ ッ ト が 検 索 リ ス ト の 最 初 の 方 に 置 か れ る 。 し た が っ て 複 数 フ ォ ー マ ッ ト の 可 能 性 が 存 在 し た 場 合 に は 、 よ り 一 般 的 な フ ォ ー マ ッ ト と し て 解 釈 さ れ る 。
関 連 項 目
objdump(1)
info の ’ld’ お よ
び ’binutils’ エ ン
ト リ
ld: the GNU linker , Steve Chamberlain and Roland Pesch;
The GNU Binary Utilities , Roland H. Pesch
著 作 権
Copyright (c) 1991, 1992 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.