[Top][All Lists]

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

Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries.

From: Alexander Graf
Subject: Re: [Qemu-devel] qemu-ppc can't run static uClibc binaries.
Date: Thu, 11 Feb 2010 13:32:12 +0100
User-agent: Thunderbird (X11/20090817)

Rob Landley wrote:
> Static binaries that run under the Linux kernel don't run under qemu-ppc.  
> For 
> example, the prebuilt busybox binaries here:
>   http://busybox.net/downloads/binaries/1.16.0/busybox-powerpc
> Don't run under qemu-ppc, but runs just fine under qemu-system-ppc with the 
> image at:
>   http://impactlinux.com/fwl/downloads/binaries/system-image-powerpc.tar.bz2
> The reason is that the "powerpc spec" that qemu was written to is for AIX, 
> not 
> for Linux, and thus the register layout qemu application emulation provides 
> for powerpc doesn't match what the kernel is actually doing.
> For dynamically linked executables, the dynamic linker reorganizes the 
> register contents to match the AIX spec from IBM, but statically linked 
> binaries get what the kernel provides directly.  Thus binaries statically 
> linked against uClibc won't run under qemu-ppc, but run under qemu-system-ppc 
> just fine.
> I tracked down this problem in 2007:
>   http://landley.net/notes-2007.html#28-03-2007
> And reported it on the list at the time:
>   http://lists.gnu.org/archive/html/qemu-devel/2007-03/msg00713.html
>   http://lists.gnu.org/archive/html/qemu-devel/2007-03/msg00720.html
>   http://lists.gnu.org/archive/html/qemu-devel/2007-04/msg00315.html
> However, the then-maintainer of powerpc believed nobody else ever had the 
> right to touch "her code":
>   http://lists.gnu.org/archive/html/qemu-devel/2007-04/msg00198.html
> And I was unable to convince her that insisting reality change to match a 
> spec 
> which wasn't even for the right platform was not a useful approach.  Thus the 
> binary in the first link still won't run under qemu-ppc three years later, 
> despite running fine under a real Linux kernel.

Patches are always welcome. The only thing you might want to make sure
is that dynamically linked binaries also still continue to work :-).


reply via email to

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