linux

kgdb+Insight

kgdbとか使おうとしたら、この辺のフロントエンドは使えない予感! 初心者のためのgdbフロントエンド kgdbwaitで開始→Insightでブレークを張る→走らせる→ブレークで止まってステップ実行 であれば可能のはず、と思って試してみた。

crosstool

crosstoolという便利なものがあることを最近知ったので試してみた。 Debianだと、どちらも # aptitude install gcc gawk automake libtool bzip2 libgmp3-dev libmpfr-devくらいで使えるようになる。 crosstool http://www.kegel.com/crosstool/ パッチとス…

CFイメージ

ブートローダ編 http://d.hatena.ne.jp/firewood/20081004/1223055397 カーネル編 http://d.hatena.ne.jp/firewood/20081012/1223802842 CFイメージ編 http://d.hatena.ne.jp/firewood/20081012/1223814666 (これ)

SuperH Linux

ルネサスの評価ボードの続き。 Linux kernel RTS7751R2DまたはR0P751RLC0011RLで使える2.6系カーネルで、以下を試してみた。 linux-2.6.14.4-R2D+_20060906 linux-2.6.23.17 linux-2.6.24.7 linux-2.6.25.17 linux-2.6.26.5

fltk

fltk 1.1.8rc2を試してみた。 別スレッドで何か処理をして、その結果をGUIのスレッドで表示するというのがよくあるが、1.xだとFl::awake()とFl::add_fd()の二通りでできる。 まずawakeでやってみた。こちらはコールバック関数を直接指定することができ、コー…

Linux英語の達人2

「Linux英語の達人2」というメールマガジンを購読してます。最近だと「prepend」(前につける)とか「to name」(名前を挙げる)とかが紹介されていて、内容も新しいトピックが多いので面白い。たまたま読んでいたソースにprepend_xxxという関数があって、p…

Linux Foundation Japan Symposium

Andrew Morton大先生の講演を拝聴してきた。http://www.linux-foundation.jp/modules/eguide/event.php?eid=5どうやら超人的な仕事量をこなしているようだ。シャーロックホームズみたいな感じの紳士だった。終了後に「カーネルデバッグに何のツールを使って…

YLUG第67回カーネル読書会

glibc(たぶん2.x)のmallocのお話。→ 革命の日々! カーネル読書会で講演してきましたkosaki氏は細かいところまで広く深く知っていて、設計者&実装者の代弁者たりえているところがすばらしい。 内容は、 ・K&Rのmalloc(約20行)は割と偉大 ・fragmentatio…

__FUNCTION__と__LINE__の文字列化

Linux kernel用に自作の簡易トレーサを使っている。 1つのチェックポイントあたり、16バイトの情報を記録しておいて、あとでダンプするというもの。16バイトというのは、 u32 timestamp; // タイムスタンプ const char *message; // メッセージ u32 param[2]…

カーネル読書会 第0x40回

↓ これに行ってきた。 http://mkosaki.blog46.fc2.com/blog-entry-166.html http://d.hatena.ne.jp/hyoshiok/20060609#p1CPUIDの結果から、より適切なコードバイトが使えるCPUなら、起動時にコードを書き換える仕組み。 Pentium4 対応カーネルってどうなって…

自作自演デバッグ

Cygwin版のInsightからVMWare上のLinuxをデバッグしようと思い立った。 Linux版のVMWareだと、ゲストOSのシリアルポートはホストOSのttyに公開できるのだが、Windows版のVMwareは、物理シリアルポート、ファイル(出力のみ)、named pipeの三択であり、その…

cross platform development

クロスプラットフォームというか、プラットフォーム依存というか、そういうことをよく扱っているのでメモ。基本的にC/C++。 メモ プリプロセッサは、未定義の識別子を0として扱う。 従って、#if __GNUC__ >= 3はGCC3以上として使えるが、GCC2系かどうかを#if…