qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] RFC: fix run of 32 bits Linux executables on 64 bits ta


From: Blue Swirl
Subject: Re: [Qemu-devel] RFC: fix run of 32 bits Linux executables on 64 bits targets
Date: Thu, 11 Oct 2007 22:26:38 +0300

On 10/10/07, Fabrice Bellard <address@hidden> wrote:
> Thiemo Seufer wrote:
> > Fabrice Bellard wrote:
> >> J. Mayer wrote:
> >>> Following the patches done for elfload32, it appeared to me that there
> >>> were still problems that would prevent 32 bits executables to run on 64
> >>> bits target in linux user mode emulation.
> >>> [...]
> >> Are you sure it is a good idea to try to add 32 bit executable support to a
> >> 64 bit target ? In the end you will need to write a 64 bit to 32 bit linux
> >> syscall converter which would mean duplicating all the linux-user code of
> >> the corresponding 32 bit target (think of ioctls with strutures, signals
> >> frames, etc...).
> >
> > I would think this feature will be limited to platforms which can handle
> > 32bit and 64bit binaries with a single personality.
>
> I am not sure it is a common case !
>
> However, I suggest to emulate a 32 bit user linux system with a 64 bit
> guest CPU running in 32 bit compatibily mode. It would be useful to test
> 64 bit CPUs in 32 bit compatibility mode. The only required modification
> in linux user is to rename target_ulong so that it can have a different
> size of the CPU word default size.

I made a patch to rename target_ulong/long to abi_ulong/long and also
add a new emulator target that uses the 32 bit ABI with 64 bit CPU.

Some Sparc32 binaries run, others don't, possibly indicating bugs in
the Sparc64 emulation!

The patch is quite large because of the renaming, but this shouldn't
have effect to any other target. Any comments?

Attachment: linux32.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]