I am trying to compile User Mode Linux on a 64 bit machine with defconfig and getting the following error.

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

Any idea what this means?


From my shaky understanding: the compilation script is passing the -mcmodel=large option to GCC. This option is only supported since GCC 4.3 (or perhaps 4.4). You seem to have an older version where the option is recognized on the command line but not implemented under the hood.

This option produces an executable running in the large model, which consumes more memory for pointers but doesn't put any constraints on the address and size of code and data sections. This allows the kernel to run at any virtual address. I think this is necessary for User-mode Linux because it has to coexist with the real kernel while itself pretending to be a kernel to user→kernel ABIs.

| improve this answer | |
  • Thanks Gilles . Compilation is going ahead with GCC version 4.7.2. I had 4.1.2 in bu build server and that was causing the issue. – vpillai Feb 7 '13 at 5:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.