On 28 November 2012 13:06, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote: > There's a bit more to it than just syscall compatibility. You'll also need > to be able to load a 32 bit runtime loader, support 32 bit thread entries > and signal handling and generally a 32 bit userland. I haven't looked into > what exactly the latter entails, but I think you'll have to additionally do > 32 bit paging for 32 bit teams, which might require a bit of VM hacking. > > Whether we go with FatELF or not, this is stuff we want anyway. > When running in compatibility mode, the 64-bit paging mechanism is still used so the only thing that'd be necessary would be to limit the user-mode portion of the address space to the bottom 4GB in VM. Loading the runtime loader would require changing the kernel ELF code to be able to load both ELF32 and ELF64, as well as selecting the correct runtime_loader to used based on the architecture of the binary being loaded. Can't think of anything else that would need to be done other than that and the things you said. Thanks, Alex