9月10,11日に東京・日野の明星大学で開催されるオープンソースカンファレンス2010Tokyo/Fall に出展します。


今回も展示はいつもどおりKOZOSの展示ですが、セミナーは番外編として「リンカ・マニアックス 」というタイトルで、リンカについて説明します。


もともとセミナーは1年間は組込みOS自作についてしゃべることで1周しようと思っていたのだけど、東京は前回の2月のOSCですでにしゃべっているということで、今回は番外編として別のことをやることにしました。


内容は、前回のカーネル/VM探検隊 でしゃべったものとだいたい同じですが、もうちょっと詳しく説明したいなあと思っています(カーネルVMのときはちょっと中途半端だった反省があるので)。なのでカーネルVMで聞いて、もう一度ちゃんと聞きたい!というひとは参加してみてください。


内容は以下のような感じです。拙著「リンカ・ローダ実践開発テクニック 」をベースにして、いろいろマニアックな実験をしてみるというものです。書籍は当日回覧する予定ですが、持っている人は手元において見ながら受講するとわかりやすいかもしれません。


※説明は簡略にして、実験を多めにします。また時間が足りなくなった場合、実験を多少省略するかもしれません。


・リンカ・ローダについて簡単に説明


・テキスト、データ、BSS領域についての説明と実験

  const変数の書き換え、文字列リテラルの書き換え


・ELFフォーマットについての説明と実験

  ELF形式の解析

  セクションの作成

  バイナリデータの埋め込み

  簡易ローダの作成


・リンカスクリプトについての説明と実験

  バイナリデータの埋め込みその2

  静的変数の再初期化


・コア・ファイルについての説明と実験

  core・ファイルの解析

  coreファイルからのプログラムの動作再開


・シンボルと再配置についての説明と実験

  動的リンカの作成

  静的リンカの作成


・checksym紹介

  プログラム中で利用されていない変数・関数の一覧を出力するツール


「リンカ・ローダ実践開発テクニック」(CQ出版社、2010/08)の書籍中で紹介しているソースコードを以下でダウンロードできるようにしました。


ソースコードはこちら


また〆切のスケジュールの問題で書籍中に収録できなかった追加コラムを、上記で公開しています。


書籍の内容を実際に試してみたいかた、追加のコラムを読みたいかたはぜひどうぞ!


なんか意外に好評の「リンカ・ローダ実践開発テクニック」ですが、CQ出版の対談記事がweb掲載されました。


書籍『リンカ・ローダ実践開発テクニック』発売記念インタビュー


あと、書籍中で紹介している各種サンプルプログラムについてですが、とくに後のほうの章に出てくるソースコードは長めのものが多いので、手で入力するのはちょっとたいへんだと思います。


ということでダウンロードできるように現在準備中なのですが、もうちょっと待ってください。

今すぐにでもソースが欲しい!というかたは、前回のカーネル/VM探検隊で利用したサンプルコードが私のホームページの以下からダウンロードできます。


各種資料のページ


あまり整理されていませんが、ソースコードの内容はほとんど同じですので、とりあえずこっちを利用してみてください。


セプキャン無事に終わりました。感想はいっぱいあるので、のちほどブログでまとめます。


で、8月22日に「カーネルVM探検隊」で発表します。場所は神保町です。

http://groups.google.co.jp/group/kernelvm
http://atnd.org/events/6796

今回は「リンカ・ローダ実践開発テクニック」の内容を元ネタにして、リンクについてなにかクソマニアックな話をしてこようかと思っています。興味のあるひとはぜひ!


12ステップ本の中(p.86)でも紹介されているのだけど、リンカに関する書籍が発売開始になりました。


リンカ・ローダ実践開発テクニック


ちょっとマニアックすぎる内容かもしれないけど、組込みとかOSとかやっているとリンカやローダ(ていうか、メモリまわり)の知識は必須になる。しかしあまり書籍が無いしネットで調べてもあまり出てこない。とくに、実践的な書籍は皆無だと思う。(オーム社のLinkers&Loadersは良書だが、実践的なものではないので、実際にプログラムを書こうとすると、それだけでは書けないということになる)


なので、必要な人にとってはとても重宝してもらえる本なのではないかと思います。


コアダンプからの実行再開とかリンカの自作(静的リンカ、動的リンカ)とか、なかなか面白いこともやっています。バイナリハックとかも流行っているし、興味のあるかたはぜひどうぞ!