gcc を使用して 64 ビット Linux カーネルをコンパイルしようとすると、次のエラーが表示されます。
kernel/bounds.c:1: エラー: コード モデル 'kernel' は 32 ビット モードでサポートされていません
kernel/bounds.c:1: 申し訳ありませんが、実装されていません: 64 ビット モードはコンパイルされていません
これはgcc -vが報告するものです:
組み込み仕様の使用。
ターゲット: i586-redhat-linux
以下で構成: ../configure --prefix=/usr --mandir=/usr/share/man -- infodir=/usr/share/info --with-bugurl= http:// bugzilla.redhat.com/
bugzilla --enable-bootstrap --enable-shared --enable-threads=posix -- enable-checking=release --with-system-zlib --enable-__cxa_atexit -- disable-libunwind-exceptions --enable-languages= c,c++,objc,obj-c+ +,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/ java-1.5.0-gcj-1.5.0.0/jre -- enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar - -disable-libjava-multilib --with-ppl -- with-cloog --with-tune=generic --with-arch=i586 --build=i586-redhat-linux
スレッド モデル: posix
gcc バージョン 4.4.1 20090725 (レッドハット 4.4.1-2) (GCC)
カーネルの make コマンド ラインに何か足りないものがありますか? それとも、システムに存在する gcc が 64 ビットのコンパイルをサポートしていないのでしょうか?