Wednesday 3 October 2018

Linker script

なんか、学生が30日OSやってて、qemu 経由で gdb で debug したいと。x.v6 でいいじゃんと思わなくもないんですが...

じゃぁ、elf 形式で kenrel 作ってやって、qemu の debug mode 使えば? ってことなんですけどね。つうことは、

  elf 形式用のlink script を書く

ってことだよな。a.out でいいんじゃないか説もあるんだけど。30日OSは、フロッピィbootで書いてるらしい。

  qemu -kernel kennel.elf

でいくかと思ったんですが、なんかだめ。そうですか。

  でも、floppy 上の IPL のアセンブラと Linker script を合わせればいいんでしょ?

なんか地獄のように合わないぞ〜 でも . = 0xd030 ; とかなんとか書いて、gdb 側でentry point 確認して的な。でも、やっぱりずれてるので、

  面倒くさいので、ずれてるentryをそのままIPLに書いた

いや、でも、gdbからの disass は合ってる。意味わからん...

でも、それでも、IPLから飛んだ先の int 0x10 ( VGA deviceの初期化) で飛んでるようです。おそらく、スタックの初期化にしくじってるな。

No comments: