Skip to content
  • Richard Weinberger's avatar
    um: Switch to large mcmodel on x86_64 · 12783aa0
    Richard Weinberger authored
    
    
    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: default avatarRichard Weinberger <richard@nod.at>
    Reported-by: default avatar전하늘 <allskyee@gmail.com>
    12783aa0