]> git.baikalelectronics.ru Git - kernel.git/commit
um: Switch to large mcmodel on x86_64
authorRichard Weinberger <richard@nod.at>
Tue, 24 Jan 2012 19:09:12 +0000 (20:09 +0100)
committerRichard Weinberger <richard@nod.at>
Sat, 24 Mar 2012 23:29:57 +0000 (00:29 +0100)
commitd0e5621cc2a840a3f734decfe3aed436a74a760d
tree648810a36028675185f024ff791b7c9f7b95d815
parent578b05b5b73273caa6109f8a05cc5538acd43cf7
um: Switch to large mcmodel on x86_64

x86_64 UML is unable to load modules if more than 504MiB
of memory are used.
This happens because on x86_64 the UML process has a quite high
start address (typically around 0x6000000).
If UML's memory is larger than 504MiB VMALLOC_START happens to be after
0x8000000. This is no problem unless one loads a module which was built
with R_X86_64_32S relocations.
Symbols with a location > 0x8000000 cannot be used with R_X86_64_32S

To deal with this x86_64 UML has to be compiled with -mcmodel=large
such that no R_X86_64_32S relocations are used.

Signed-off-by: Richard Weinberger <richard@nod.at>
Reported-by: 전하늘 <allskyee@gmail.com>
arch/um/Makefile