Manpages

名 前

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 こ の 例 で は ldoutput と い う 名 前 の フ ァ イ ル を 作 成 す る よ う に 命 令 し て い る 。 リ ン ク す る フ ァ イ ル は /lib/crt0.ohello.o お よ び 標 準 的 な 検 索 デ ィ レ ク ト リ に あ る ラ イ ブ ラ リ libc.a で あ る 。

ld の コ マ ン ド ラ イ ン オ プ シ ョ ン は 任 意 の 順 序 で 指 定 で き 、 必 要 な だ け 繰 り 返 す こ と が で き る 。 オ プ シ ョ ン の 繰 り 返 し は 、 多 く の 場 合 最 初 の も の 以 外 を 無 視 す る か 、 先 の 指 定 (コ マ ン ド ラ イ ン の 左 に あ る も の ) を 上 書 き す る か に な る 。 例 外 (複 数 回 の 指 定 が 意 味 を 持 つ も の ) は 以 下 の 通 り 。 −A−b (ま た は そ の 同 義 で あ る −format)、 −defsym−L−l−R−u。 リ ン ク す る (複 数 の ) オ ブ ジ ェ ク ト フ ァ イ ル は objfile と し て 与 え る が 、 こ れ は コ マ ン ド ラ イ ン で オ プ シ ョ ン の 後 、 前 、 あ る い は 混 ぜ て 置 い て も 構 わ な い 。 た だ し objfie を オ プ シ ョ ン の フ ラ グ と そ の 引 数 の 間 に 置 く こ と は で き な い 。 通 常 リ ン カ の 実 行 に は 最 低 一 つ の オ ブ ジ ェ ク ト フ ァ イ ル が 指 定 さ れ る が 、 異 な る フ ォ ー マ ッ ト を 持 つ バ イ ナ リ フ ァ イ ル を −l−R や ス ク リ プ ト コ マ ン ド 言 語 で 指 定 す る こ と も で き る 。 バ イ ナ リ の 入 力 フ ァ イ ル が 一 つ も 指 定 さ れ な い 場 合 に は 、 リ ン カ は 出 力 フ ァ イ ル を 作 成 せ ず 、 ’ No input files’ と い う メ ッ セ ー ジ を 表 示 す る 。 オ プ シ ョ ン の 引 数 は オ プ シ ョ ン 文 字 の 直 後 に ス ペ ー ス な し で 続 け る こ と も で き る し 、 オ プ シ ョ ン の 次 に 別 の 引 数 と し て 置 く こ と も で き る 。
-A
architecture

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 を リ ン ク す る フ ァ イ ル の リ ス ト に 加 え る 。 こ の オ プ シ ョ ン は 何 回 で も 指 定 で き る 。 ldar が 指 定 さ れ る ご と に 、 libar.a が 見 つ か る ま で 検 索 パ ス を 探 す 。
−L
searchdir こ の コ マ ン ド は searchdirld の 書 庫 ラ イ ブ ラ リ の 検 索 パ ス に 追 加 す る 。 こ の オ プ シ ョ ン は 必 要 な だ け 指 定 で き る 。 デ フ ォ ル ト の 検 索 パ ス (−L が 指 定 さ れ な か っ た と き の 検 索 パ ス ) は ld が 用 い て い る エ ミ ュ レ ー シ ョ ン の モ ー ド に 依 存 す る 。 ま た 設 定 に 依 存 す る 場 合 も あ る 。 リ ン ク ス ク リ プ ト で は SEARCH_DIR コ マ ン ド を 用 い て こ の パ ス を 設 定 す る こ と も で き る 。

ld に よ っ て

−M 標 準 出 力 に リ ン ク マ ッ プ を 表 示 す る 。 リ ン ク マ ッ プ に は

マ ッ プ さ れ た シ ン ボ ル の 位 置 情 報 と グ ロ ー バ ル な 共 通 メ モ リ 領 域 の 割 当 て 情 報 が 含 ま れ て い る 。

−Map mapfile フ ァ イ ル mapfile に リ ン ク マ ッ プ を 出 力 す る 。 リ ン ク マ ッ プ に は ld に よ っ て マ ッ プ さ れ た シ ン ボ ル の 位 置 情 報 と グ ロ ー バ ル な 共 通 storage の 割 当 て 情 報 が 含 ま れ て い る 。
−m
emulation リ ン カ emulation を エ ミ ュ レ ー ト す る 。 エ ミ ュ レ ー ト で き る も の の リ ス ト は −−verbose ま た は −V で 得 ら れ る 。 こ の オ プ シ ョ ン は コ ン パ イ ル 時 の デ フ ォ ル ト (ld の 設 定 を 行 っ た シ ス テ ム 向 け の リ ン カ ) を 上 書 き す る 。

−N

textdata セ ク シ ョ ン を 読 み 書 き 可 能 に す る 。 出 力 フ ォ ー マ ッ ト が Unix ス タ イ ル の マ ジ ッ ク ・ ナ ン バ ー を サ ポ ー ト し て い る 場 合 は 、 出 力 フ ァ イ ル に OMAGIC が マ ー ク さ れ る 。

−N オ プ シ ョ ン を 指 定 す る と リ ン カ は data セ グ メ ン ト の ペ ー ジ 位 置 調 整 を 行 わ な い 。

−n

text セ グ メ ン ト を リ ー ド オ ン リ ー に す る 。 可 能 な 場 合 は NMAGIC が 書 き 込 ま れ る 。

−noinhibit−exec 通 常 リ ン カ は リ ン ク 処 理 の 途 中 で エ ラ ー に な る と 出 力 フ ァ イ ル を 生 成 し な い 。 こ の フ ラ グ を も ち い る と 致 命 的 で な い エ ラ ー の 場 合 に は 出 力 フ ァ イ ル を 残 す よ う に 指 定 で き る 。
−no−keep−memory
通 常 リ ン カ は メ モ リ 消 費 量 よ り も 実 行 速 度 を 優 先 す る よ う に 最 適 化 さ れ て い る 。 す な わ ち 入 力 フ ァ イ ル の シ ン ボ ル テ ー ブ ル が メ モ リ に キ ャ ッ シ ュ さ れ て い る 。 こ の オ プ シ ョ ン を 指 定 す る と 、 メ モ リ 消 費 を 抑 え る よ う に な る (必 要 に 応 じ て シ ン ボ ル テ ー ブ ル を 読 み 直 す )。 こ の オ プ シ ョ ン は 大 き な 実 行 フ ァ イ ル を リ ン ク す る と き 、 メ モ リ を 使 い 果 た し て し ま う よ う な 場 合 に 指 定 す る 必 要 が あ る 。
−no−warn−mismatch
何 ら か の 理 由 で マ ッ チ し な い 入 力 フ ァ イ ル を い っ し ょ に リ ン ク し よ う と す る と 、 リ ン カ は 通 常 エ ラ ー に な り ま す 。 こ の 原 因 と し て は 、 そ れ ら の 入 力 フ ァ イ ル が 異 な る プ ロ セ ッ サ 用 に 、 あ る い は 異 な る エ ン デ ィ ア ン 用 に コ ン パ イ ル さ れ た な ど が 考 え ら れ ま す 。 こ の オ プ シ ョ ン を 指 定 す る と 、 リ ン カ は こ の 種 の 潜 在 的 な エ ラ ー を 黙 っ て 許 可 し ま す 。 こ の オ プ シ ョ ン は 不 用 意 に 使 う べ き で は あ り ま せ ん 。 リ ン カ の エ ラ ー を ど う し て も 避 け た い よ う な 、 特 殊 な 作 業 を 行 っ て い る と き に 限 る べ き で す 。
−o
output

outputld に よ っ て 作 成 さ れ る プ ロ グ ラ ム の 名 前 で あ る 。 こ の オ プ シ ョ ン が 指 定 さ れ な か っ た 場 合 は 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 そ れ ぞ れ 出 力 フ ァ イ ル の bssdatatext セ グ メ ン ト に 対 し て 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 名 の 一 つ で な け れ ば な ら な い 。 GNUTARGETdefault に 設 定 さ れ て い た 場 合 に は 、 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.