9月10,11日に東京・日野の明星大学で開催されるオープンソースカンファレンス2010Tokyo/Fall に出展します。
今回も展示はいつもどおりKOZOSの展示ですが、セミナーは番外編として「リンカ・マニアックス 」というタイトルで、リンカについて説明します。
もともとセミナーは1年間は組込みOS自作についてしゃべることで1周しようと思っていたのだけど、東京は前回の2月のOSCですでにしゃべっているということで、今回は番外編として別のことをやることにしました。
内容は、前回のカーネル/VM探検隊 でしゃべったものとだいたい同じですが、もうちょっと詳しく説明したいなあと思っています(カーネルVMのときはちょっと中途半端だった反省があるので)。なのでカーネルVMで聞いて、もう一度ちゃんと聞きたい!というひとは参加してみてください。
内容は以下のような感じです。拙著「リンカ・ローダ実践開発テクニック 」をベースにして、いろいろマニアックな実験をしてみるというものです。書籍は当日回覧する予定ですが、持っている人は手元において見ながら受講するとわかりやすいかもしれません。
※説明は簡略にして、実験を多めにします。また時間が足りなくなった場合、実験を多少省略するかもしれません。
・リンカ・ローダについて簡単に説明
・テキスト、データ、BSS領域についての説明と実験
const変数の書き換え、文字列リテラルの書き換え
・ELFフォーマットについての説明と実験
ELF形式の解析
セクションの作成
バイナリデータの埋め込み
簡易ローダの作成
・リンカスクリプトについての説明と実験
バイナリデータの埋め込みその2
静的変数の再初期化
・コア・ファイルについての説明と実験
core・ファイルの解析
coreファイルからのプログラムの動作再開
・シンボルと再配置についての説明と実験
動的リンカの作成
静的リンカの作成
・checksym紹介
プログラム中で利用されていない変数・関数の一覧を出力するツール