[haiku-development] Re: FatELF Implementation

  • From: Alex Smith <alex@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 30 Nov 2012 12:52:30 +0000

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

Other related posts: