* GNU binutils [#mb5a83ea]
** 参考 [#se376870]
- [[GNU Binutils:http://sources.redhat.com/binutils/]]
- [[GNU リンカ LD の使い方:http://www.sra.co.jp/wingnut/ld/ld-ja.html]]

** 関連 [#ab6b6594]
//- gcc
//- ダイナミックリンカ
- nasm
- BFDライブラリ

** GNU アセンブラ [#xf221597]
- as アセンブラ
- gasp アセンブリのプリプロセッサ

** オブジェクトファイルの情報 [#d14407d7]
*** ld [#jd021b1a]
リンカ。シンボル参照をまとめ、解決する

 --print-map

サポートされているフォーマットは
 objdump -i
で得る

SUNの開発環境ではインクリメンタルリンクをする場合ild?らしい

*** objdump [#y590edba]
オブジェクトファイルの情報を表示
 objdump hogehoge.o
アーカイブを指定することも可能

*** nm [#l4629ef6]
オブジェクトファイルのシンボルを表示する
 nm hogehoge.o
オブジェクトファイルのフォーマットは--targetで与える

 objdump --syms hogehoge.o
でもnmと同様の情報が得られる

*** size [#n9c272c5]
オブジェクトファイルのセクションサイズを表示

*** readelf [#b0cce15d]
ELFフォーマットのオブジェクトファイルの情報を表示する

** オブジェクトファイルの操作 [#sff08d15]
*** objcopy [#hd43f257]

*** strip [#e9b77798]
シンボル情報を切り捨てる
 strip hogehoge.o

** ライブラリ関連 [#s9c72b2f]
*** ar [#xd623388]
アーカイブを作成する

relocatableなオブジェクトモジュールのindexを作成。indexがあればリンク後の速度が向上。また、書庫内の位置に依存しなくなる
 nm -s hogehoge.a
でindexをリスト。
 ranlib hogehoge.a
でindexを追加

 書庫 {
   メンバ[n];
 }

** その他 [#zca47495]
*** addr2line [#efc7c8eb]

*** gprof [#g0d946d9]
プロファイラ(コールグラフを読み込んで統計を出す)
// gcc -pg hogehoge.c
// gprof 

*** strings [#z14278f2]

* オブジェクトファイルのフォーマット [#ga84146d]
- coff
- ELF
-- elf.h
- PE
- a.out
-- a.out.h -> linux/a.out.h

* Apacheのモジュール機構 [#db6bc4d9]
- Apache docs for developer http://httpd.apache.org/docs-2.0/developer/API.html#moduletour
- [[Apache docs for developer:http://httpd.apache.org/docs-2.0/developer/API.html#moduletour]]

** ダイナミックリンクライブラリ [#kcc8f16d]
共有ライブラリの検索パスは/etc/ld.so.confに書く。編集した場合はldconfigを呼んでシステムに反映させる

- ldd
-- 共有ライブラリへの依存関係を表示する
- ldconfig
- ld.so / ld-linux.so
-- 動的リンカ
- [[man:dlopen]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS