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 :-). Alex