[Top][All Lists]

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

[Qemu-devel] Re: [PATCH] linux-user: Remove ELFLOAD32.

From: Blue Swirl
Subject: [Qemu-devel] Re: [PATCH] linux-user: Remove ELFLOAD32.
Date: Sun, 25 Apr 2010 18:08:30 +0300

On 4/25/10, Richard Henderson <address@hidden> wrote:
> On 04/23/2010 11:36 AM, Blue Swirl wrote:
>  > On 4/23/10, Richard Henderson <address@hidden> wrote:
>  >> The ABI-specific types used by linux_binprm and image_info
>  >>  are different after forcing TARGET_ABI32 on.  Which means
>  >>  that the parameters that load_elf_binary_multi sees are not
>  >>  those that loader_exec passed.  This is inherently broken
>  >>  and is more trouble than it's worth fixing.
>  >
>  > Nack. How is this inherently broken?
> sizeof(abi_ulong) is different in elfload32.c and linuxload.c,
>  which means the two files cannot communicate with any type
>  affected by this change.  Which is both linux_binprm and image_info.
>  > The problem that elfload32 solves is that the CPU is 64 bit, but the
>  > ABI and the binaries loaded are still 32 bits. It works nicely for
>  > sparc32plus binaries (ELFCLASS32, but only for V9 CPUs).
> And yet we have a separate sparc32plus-linux-user/qemu-sparc32plus
>  binary that does that job.
>  Do we really need qemu-sparc64 to do both jobs?  Because it doesn't.
>  The only thing that happens is that qemu crashes immediately because
>  it sees linux_binprm.e_gid at the offset it expects to see
>  linux_binprm.argc, and fails to copy gid=rth(5000) entries from the
>  argv array.

I see. Thanks, applied.

reply via email to

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