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?
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
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.