ユーザーモードLinuxのコンパイルに失敗しました

ユーザーモードLinuxのコンパイルに失敗しました

64ビットシステムでユーザーモードLinuxをコンパイルしようとすると、defconfig次のエラーが発生します。

arch/x86/um/user-offsets.c:1: sorry, unimplemented: code model "large" not supported yet

これはどういう意味なのかご存知ですか?

答え1

私の不安な理解から:コンパイルスクリプトが渡されています-mcmodel=largeGCCオプション。このオプションはGCC 4.3(それとも4.4かもしれません。)。一つ一つあると思います。旧バージョンこのオプションはコマンドラインで認識されますが、内部的には実装されません。

このオプションは、以下で実行される実行可能ファイルを生成します。大型モデル、これはより多くのポインタメモリを消費しますが、コードとデータセクションのアドレスとサイズに制限はありません。これカーネルがすべての仮想アドレスで実行できるようにする。ユーザーモードLinuxでは、ユーザー→カーネルABIでカーネル自体であるふりをしながら実際のカーネルと共存しなければならないため、これが必要だと思います。

関連情報