OS9 Level 2 はMMUの実装もできて、Shellが起動するところまではいきました。が、
D1C5: 0D 06 TST <$06
D1C7: F6 0C 07 LDB $0C07
D1CA: 0F 0E CLR <$0E
D1CC: 07 18 ASR <$18
D1CE: 16 07 30 LBRA $D901
v09>c
OS-9 LEVEL TWO VR. 03.00.02
COPYRIGHT 1988 BY
MICROWARE SYSTEMS CORP.
LICENSED TO TANDY CORP.
ALL RIGHTS RESERVED.
Shell
OS9:
しかし、Diskにアクセスできない
OS9:dir /d0
Error #221
ぶう。Disk driver の初期化に来てないから、なんかで蹴られているんだろうな。Level 1は動いているのでいけそうなものなんですが。
SBC09 ってのをEmulatorに使っているんですが、ちょっとダメだったかも。アセンブラもエミュレータもバグが多くて。まぁ、動いたから良いんだけど。
で、こいつは signalを使って traceに入れるんですが...
lldb が signal を食ってしまう
そういうの制御するのがありそうなものなんだけど。外からシグナル送ると少しなんとかなるみたいだが、まぁ、だめぽ。
あと、lldb が core を読んでくれない。
(lldb) target create --arch=mips32-pc-linux "app_mips.elf" --core "core_mips"
こんな感じで triple を指定してやると良いらしいが、
the specified architecture 'x86_64-apple-darwin17.6.0' is not compatible with 'x86_64-apple-macosx'
つまり、lldb がサポートしてるのは、darwin17.6.0 で、吐かれた core の方はmacosxなのでだめらしい。ググった感じではだめっぽいです。
そんなこんなで、
じゃぁ、gdb 使うか
となったんですが、例の
SIPで、code sign がどうとか
で、csrutil disable とか、いろいろやったんですが、
gdb 8.1 は、High Sierra ではバグで動かないから、8.0.1 を使え
で、しかも、code signしてもダメで、8.0.1 を
sudo gdb
すると動くと言うことがわかりました。さすが、OS X 、SIP で超安全。
root で gdb でデバッグ
とか、超安心で素晴らしいです。
OS9 level 2 の disk は RBF からオープンに来るらしいので、少し苦労しそうだな。見当付かない感じ。os9 I$Open から trace かな。Leve1 でも似たようなことはやったから。まぁ、なんとか。
No comments:
Post a Comment