Where: Normal Loads are getfield, getstatic, array load of non-volatile fields Normal Stores are putfield, putstatic, array store of non-volatile fields Volatile Loads are getfield, getstatic of volatile fields that are accessible by multiple threads Volatile Stores are putfield, putstatic of volatile fields that are accessible by multiple threads MonitorEnters (including entry to synchronized met
通常Intel系のアセンブラは、Intel Syntaxと呼ばれる文法を使用していますが、GNU AssemblerはAT&T Syntaxを使用しています。そして、AT&T System V/386アセンブラの文法は、インテル アセンブラの文法と非常に異なっています。BSD kernelのアセンブラ部分はAT&T Syntaxが使われているので、これらの違いについて説明しておきます。 なお現在の、GNU AssemblerはIntel Syntaxもサポートしており、Intel ModeとAT&T Mode双方の変更が可能となります。 '.intel_syntax'ディレクティブを指定する事によりIntel Mode '.att_syntax'ディレクティブを指定する事によりAT&T Mode
DECONで高林さんが紹介された「Binary Hacks in Action」のスライドを見ていて、「WEBRickをGDBでいじる」という所がとても興味深く感じました。本当にそんなことができるのか?と一瞬思いました。そこで、ちょっと試してみました。最初はうまくいかなかったのですが、最終的にWEBRickをGDBから本当に操作できることを確認しました。うまくいかなかった原因は、パッケージからRubyをインストールいたためのようです。(GDBが理解できるデバッグ情報が、パッケージからインストールしRubyには入っていなかったのが原因だと考えられます。) ソースからビルドしてインストールしたRubyでは、期待通りの結果が得られました。 準備 パッケージからインストールしたRubyでは、WEBRickをGDBからうまくいじれなかったので、ソースからRubyをインストールしておきます。confi
a.out FormatはPDPの時代から使われているフォーマットであり、現在でもOpenBSDで使用されています(OpenBSD3.3からはELF formatに変更になりました)。PDP-11ではアドレスが16bitしかなかった為、プログラムコードのサイズは全体で64Kに制限されていました。そこで、Instructionセクションとdataセクションを分離することにより、一つのプログラムで、64Kのプログラムと64Kのデータを扱うことを可能していました。 また、2つのセクションに分けたことにより、プログラム複製がInstructionセクションを共有することが出来るので、独立したdataセクションだけ持てば良いことになり、メモリーの節約が出来るようになります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く