tarosukeの日記: ldscriptをひもといてみる【めも】
日記 by
tarosuke
ldscriptをひもといてみた。手始めにSECTIONS。手始めにというかいきな
り核心なのだが。
とはいえ、ldscriptのセクションには入力と出力があって、入力セクション
はコンパイラとかが出力するセクションで、出力セクションはldが吐いたり
アドレスを割り振ったりする時に使うセクション。
実際には
SECTIONS {
outSection : {
*(.inSection)
LONG(ABSOLUTE(HOGE))
}
}
みたいな感じ。
全体的な流れとしては入力セクションをSECTIONSで出力セクションへまとめ
て、出力セクションの出力先が設定されていればMEMORYで実際のアドレスを
設定してやったりしておしまい。てな感じ。
特殊な使いかたとしては入力セクションを列挙するところにLONG(ABSOLUTE
(ラベル))とか書いて直接値を出力セクションに埋め込んだりとかもできるの
で、スタック設定コードを手アセして埋め込んだり...
ldscriptをひもといてみる【めも】 More ログイン