つれづれ日記 2014年4月

予定

毎日


2014年4月30日 (水曜日)

17:35:28 # Life brainfuck JIT compiler. GWの挑戦の一つでバイナリー系の何かをしようかなとおもってLLVM で brainfuck の JIT compiler でもかいてみようかなと思ったらサンプルプログラムだった。 squeezeだと/usr/share/doc/llvm-3.1-examples/examples/BrainF/にある。 しかしビルドの方法が全くわからん・・・

2014年4月21日 (月曜日)

17:48:11 # Life gdbで関数が定義されているファイルを探す。 python バインディングがあるんだから簡単に見つかるんじゃないのといわれて調べてみたらたしかに簡単にわかった。 gdb のプロンプトからpython print gdb.lookup_global_symbol("main").symtab。 gdb.lookup_global_symbol でグローバルシンボルを解決、Symbolオブジェクトが帰ってくる。デフォルトでそれは関数名なのでmainになるわけなんだけど、それじゃおもしろくないので、symtab メンバーをみるとシンボル情報が出てくる。 symtab.fullname() がフルパスでのファイル名。 行数もどっかにあると思うんだけどなぁ。なんかあたらしいgdbだとsymtab.linetable()があるっぽい。

2014年4月17日 (木曜日)

17:54:29 # Life gdb の edit 命令。 デバッグ中のファイルを編集できるんだけど、デフォルトのエディターが /bin/ex らしい。しかも他のエディタを指定しようとしたら /bin/ex filename +行番号 という形式で行数をしていするのでその形式を受けられるエディタが必要だそうな。 そんなエディタ誰がつかっているのだろう。

2014年4月15日 (火曜日)

17:00:11 # Life emacs gud と gdb の使い方がわからない。 gdb のコマンドラインからlist コマンドで関数のソースコードが表示できるのだがそんなことよりも該当のバッファを開いて欲しい。

2014年4月8日 (火曜日)

18:37:08 # Life libssl のアップデート。 してみて気づいたけど手元のサーバ台数、なんか気づいたら増えてきたなぁ。 VPSとraspberry piがいくつか。

2014年4月4日 (金曜日)

07:16:33 # Life linux perf. mosh + screen 経由で表示していると右端に表示されているはずのスクロールバーが左端に表示され、行のリフレッシュが一行ずれているような気がするけどこれなんだろう。

2014年4月1日 (火曜日)

16:55:37 # Life 暗号ファイルシステム ecryptfs を Debian で使ってみる。 ディレクトリ単位で暗号化するオーバレイファイルシステムである ecryptfs を使ってみました。Debianの標準Linuxカーネルモジュールに含まれ ているので、ecryptfs-utilsパッケージさえインストールすれば mount コマンドでマウントできます。 例えば、mount -t ecryptfs encrypted/ mountpoint/とすると encryptedディレクトリに暗号化されたファイルがファイル単位で暗号化されたファイル名で配置され、mountpointディレクトリ以下に平文データが見えます。 しかし指定しないといけないパラメータが多くて、マウントするたびにいろいろと聞かれます。 ecryptfs(7)が詳しいみたい。

21:55:34 # Life ecryptfs を arm で動かしてみる。 100MBのファイルを truncate コマンドで作成するのに必要な時間が raspberry pi だとMacBook Air の100倍ちかく必要だった。 なんでかなと思って調べたところperf record でプロファイルをみたところ、 x86だとAES暗号がハードウェアサポートされており、AES NIというカーネル空間のモジュールでバリバリチューニングされているっぽい。一方raspberry pi 側では aes_decrypt / aes_encrypt が使われている。これはアーキテクチャに依存しないgenericなCのコードっぽい。うーん。 書き込んでるだけのはずなのになぜか復号化ルーチンも同じだけのCPU時間をくっていてそれも不思議。


Junichi Uekawa

$Id: 201404.html.ja,v 1.11 2014/05/01 09:03:03 dancer Exp $