別にカーネルとあんま関係ないけど、globalというのを使うとソースコードリーディングに役立ちます。
# yum install global
でインストール。
ソースコードのあるディレクトリへ行って
$ gtags -v
で、GPATH, GTAGS, GRTAGSなどのファイルができます。
さらに、
$ htags
とするとHTMLが作成されて、ウェブブラウザでコードをブラウジングできるようになります。
emacsで利用するには、
# yum install emacs-global
# yum install emacs-global-el
をインストールし、
~/.emacs.d/init.el
に
(autoload 'gtags-mode "gtags" "" t)
(setq gtags-mode-hook
'(lambda ()
(local-set-key "\M-t" 'gtags-find-tag)
(local-set-key "\M-r" 'gtags-find-rtag)
(local-set-key "\M-s" 'gtags-find-symbol)
(local-set-key "\C-t" 'gtags-pop-stack)
))
(add-hook 'c-mode-common-hook
'(lambda()
(gtags-mode 1)
))
という記述を追加します。
すると、M-tで関数定義にジャンプ、M-rで関数呼び出し先にジャンプ、M-sでシンボル参照先にジャンプ、C-tで元のバッファに戻る、というように操作できます。
参考:
Emacs + GLOBALでソース読みを快適に - Higepon’s blog - Mona OS and Mosh http://d.hatena.ne.jp/higepon/20060107/1136628498