home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

読書メモ/「リンカ・ローダ実践開発テクニック」

作成日: 2011-03-01 16:24:39   /   last updated at: 2011-03-01 16:25:44
カテゴリ: Assembler BSD C言語 Linux 読書 

ELFフォーマットとリンカについて丁寧に解説された至高の一冊。

リンカ・ロ-ダ実践開発テクニック: 実行ファイルを作成するために必須の技術 (COMPUTER TECHNOLOGY) | 坂井 弘亮 |本 | 通販 | Amazon

特筆すべきは豊富なサンプルコードを通じて「手を動かして」学べる点。インタビューにもあるが、どうしても理論的な話で終わってしまいがちなリンカやELFフォーマットを、サンプルコードを自分でコンパイルし、binutilsのツールを使ってダンプし中身を確認していくことで理解を深めることが出来る。

ただ一点、惜しむらくはPLTとGOTについて第11章たった1つに押し込められた上、ページ数の都合か文章だけの説明に終わっており、概念レベルの図が無い点。PLTとGOTのぞんざいな扱いは"BINARY HACKS"や"DEBUG HACKS"にも見られ、"BINARY HACKS"ではそもそもPLT/GOTだけの解説トピックが存在せず、"DEBUG HACKS"でようやく"HACK #63"でデバッグと絡めて解説されているのみ。

この補填としては、下記ドキュメントに概要レベルで図入りの解説がある。

PLT/GOTについて若干の不満があるものの、全体としては実践的で分かりやすい内容なので、今まで断片的に学んできたELFとリンカの知識をまとめ直したい人も含めて広くオススメできる一冊です。

original url: https://www.glamenv-septzen.net/view/928