27日目、終了。今回のメインは「アプリを守ろう」ということで LDT の導入、それと API のライブラリ化、あと前回のつづきと make 環境の整理。
いままでアプリを GDT(Global segment Descripor Table) で実行していたところを LDT(Local segment Descripor Table) で実行するように変更。この辺、重要。
ライブラリ化では binutils のクロス環境だとうまく動作しなかったので(*1)、書籍付属の CD-ROM に入っていた golib00.c を単体でさくっとコンパイル(Intel Mac でも PPC Mac でも大丈夫)。
make 環境の整理により Makefile が複数になってしまった。Mac の環境に合わせて Makefile を手作業で書き換えているのでちょっとつらい。ま、あと3日分だから何とかなるか。
*1) エラーは出ないのだけど、実際に Haribote OS でアプリを動かすとうまく動かない。何が原因???
Tags: OS自作入門