3

私はアセンブリ レベルの人間が話せるプログラミング言語を nasm で書いています。Dwarf のデバッグは、Dwarf の開発に不可欠なコンポーネントであることに気付きました。

後でセルフホスティングにするためには、ELF にコンパイルするだけでなく、Dwarf をサポートしてデバッグを実行可能にする必要があります。ELF については、ELF ヘッダーを作成する方法の素晴らしい nasm の例があり ます http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html http://blog.markloiseau.com/2012/05/tiny -64-bit-elf-executables/

gdb で動作するために必要な DWARF セクションを含む、DWARF に似たものが存在するか、または作成できるかどうか疑問に思っています。このような例を使用すると、ほとんどが C に言及しているやや不可解なドキュメントを参照するよりも、DWARF を理解するのがはるかに簡単になります。機能ごと www.ibm.com/developerworks/library/os-debugging/

いずれにせよ、たまたま nasm hello world dwarf の例を作成できれば、dwarf 形式がよりアクセスしやすくなるため、世界はそれを高く評価すると確信しています。おそらく、誰かがそれを fasm や nasm 以外のアセンブラで実装できるようになるでしょう。

4

1 に答える 1

1

少し掘り下げても構わない場合は、gdb テスト スイートに単純な「DWARF アセンブラー」があります。src/gdb/testsuite/lib/dwarf.exp を参照してください。非常に理解しやすく、その名前にもかかわらず、アセンブリ コードを書き出します。テスト スイートの残りの部分を grep して、使用方法の例を確認できます。

于 2014-01-06T03:50:09.950 に答える