On Thu, Sep 4, 2008 at 12:01 AM, Vince Weaver <vince@csl.cornell.edu> wrote:
Hello

This has been discuessed a year ago
 http://www.nabble.com/linux-user-mmap()-for-32-bit-guest-on-64-bit-host-td12934745.html
 http://osdir.com/ml/linux.ports.x86-64.general/2007-10/msg00007.html
but hasn't really been resolved.

The linux-user mremap() syscall implementation will return a 64-bit value when running on a 64-bit machine, even when the architecture being simulated is only 32-bits.

Has any progress been made on this issue?  I might try implementing the workaround the kernel people suggested.

This actually prevents one of the perlbmk spec2k benchmarks from running with sparc32plus emulation on an x86_64 machine.

I have posted patch to the maillist witch add flag MAP_32BIT to mmap and mremap calls. It helps on x86_64 host, but other 64-bit host doesn't support this flag currently.