bananan_wの日記: pgccとたわむれるの巻
日記 by
bananan_w
ココで教えてもらった
情報をみて、pgcc で 2.4 カーネルをコンパイル
したくなってしまった。
まず、ターボ君7のgccのヴァージョンを調べる。
$ gcc --version
2.95.3
だそうだ。pgccはgccのパッチとして配布されている。
正式リリースの最新版は、2.95.2に対してのもので、
それより新しいgccへのパッチは提供されていならしい。
もうちょっと調べてみると、こんなところにアンオフィシャル版
を発見。早速ターボ君7のgccのSRPMにパッチとして組み込む。
んで、RPMとしてビルドしなおし、作成後にぶち込む。
$ gcc --version
pgcc-2.95.3
うむ。できてるっぽい。早速 kernel-2.4.14 のコンパイルに
取り掛かる。カーネルソースに手を入れた部分は
include/asm-i386/bugs.h
82行目あたりの
/*if (offsetof(struct task_struct, thread.i387.fxsave) & 15) {
情報をみて、pgcc で 2.4 カーネルをコンパイル
したくなってしまった。
まず、ターボ君7のgccのヴァージョンを調べる。
$ gcc --version
2.95.3
だそうだ。pgccはgccのパッチとして配布されている。
正式リリースの最新版は、2.95.2に対してのもので、
それより新しいgccへのパッチは提供されていならしい。
もうちょっと調べてみると、こんなところにアンオフィシャル版
を発見。早速ターボ君7のgccのSRPMにパッチとして組み込む。
んで、RPMとしてビルドしなおし、作成後にぶち込む。
$ gcc --version
pgcc-2.95.3
うむ。できてるっぽい。早速 kernel-2.4.14 のコンパイルに
取り掛かる。カーネルソースに手を入れた部分は
include/asm-i386/bugs.h
82行目あたりの
/*if (offsetof(struct task_struct, thread.i387.fxsave) & 15) {
- extern void __buggy_fxsr_alignment(void);
__buggy_fxsr_alignment();
}*/
arch/i386/kernel/setup.c
- static int disable_x86_fxsr __initdata = 0;
+ static int disable_x86_fxsr __initdata = 1;
こんなかんじ。
この変更でコンパイルできるようになった。
.config の内容次第ではコンパイルエラーが起きるけど
ま。ご愛嬌でせう。
pgcc-2.95.3 でコンパイルした kernel-2.4.14 も元気に
動いているしなんだかうれしいなぁ。むふふ。