64ビットシステムでユーザーモードLinuxをコンパイルしようとすると、defconfig
次のエラーが発生します。
arch/x86/um/user-offsets.c:1: sorry, unimplemented: code model "large" not supported yet
これはどういう意味なのかご存知ですか?
答え1
私の不安な理解から:コンパイルスクリプトが渡されています-mcmodel=large
GCCオプション。このオプションはGCC 4.3(それとも4.4かもしれません。)。一つ一つあると思います。旧バージョンこのオプションはコマンドラインで認識されますが、内部的には実装されません。
このオプションは、以下で実行される実行可能ファイルを生成します。大型モデル、これはより多くのポインタメモリを消費しますが、コードとデータセクションのアドレスとサイズに制限はありません。これカーネルがすべての仮想アドレスで実行できるようにする。ユーザーモードLinuxでは、ユーザー→カーネルABIでカーネル自体であるふりをしながら実際のカーネルと共存しなければならないため、これが必要だと思います。