Usermode qemu-mips64 does not run on 32 bit i686 hosts

Bug #1600681 reported by Yi Zhao
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Won't Fix
Undecided
Unassigned

Bug Description

Hi,

The usermode qemu-mips64 fails to execute on 32 bit hosts with this error:
"Address overflow loading ELF binary"

This issue can be reproduced when building Yocto project on i686 hosts.

Yocto version: 2.1 (krogoth branch)
qemu: 2.5
gobject-introspection: 1.46

and
Yocto version: 2.2 (master/branch)
qemu: 2.6
gobject-introspection: 1.48

Host: Fedora 23 (i686) or Debian 8 (i686)

Steps:
1. Set MACHINE = "qemumips64"
2. Run bitbake gobject-introspection

I got some errors like below:

env PATH=".libs:/buildarea/poky/build/tmp/sysroots-uninative/i686-linux/usr/bin:/buildarea/poky/build/tmp/sysroots/i686-linux/usr/bin/python3-native:/buildarea/p oky/scripts:/buildarea/poky/build/tmp/sysroots/i686-linux/usr/bin/mips64-poky-linux:/buildarea/poky/build/tmp/sysroots/qemumips64/usr/bin/crossscripts:/buildarea /poky/build/tmp/sysroots/i686-linux/usr/sbin:/buildarea/poky/build/tmp/sysroots/i686-linux/usr/bin:/buildarea/poky/build/tmp/sysroots/i686-linux/sbin:/buildarea/ poky/build/tmp/sysroots/i686-linux/bin:/buildarea/poky/scripts:/buildarea/poky/bitbake/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" /buildarea/p oky/build/tmp/work/mips64-poky-linux/gobject-introspection/1.48.0-r0/build/g-ir-scanner-qemuwrapper ./.libs/g-ir-compiler --includedir=../gobject-introspection-1 .48.0 --includedir=../gobject-introspection-1.48.0/gir --includedir=. --includedir=. --includedir=./gir --includedir=. ../gobject-introspection-1.48.0/gir/freety pe2-2.0.gir -o gir/freetype2-2.0.typelib
./.libs/g-ir-compiler: Address overflow loading ELF binary
If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help.
(typically like this: GIR_EXTRA_LIBS_PATH="${B}/something/.libs" )
Makefile:3528: recipe for target 'gir/fontconfig-2.0.typelib' failed
make[2]: *** [gir/fontconfig-2.0.typelib] Error 1
make[2]: *** Waiting for unfinished jobs....
./.libs/g-ir-compiler: Address overflow loading ELF binary
If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help.
(typically like this: GIR_EXTRA_LIBS_PATH="${B}/something/.libs" )
Makefile:3528: recipe for target 'gir/freetype2-2.0.typelib' failed
make[2]: *** [gir/freetype2-2.0.typelib] Error 1
./.libs/g-ir-compiler: Address overflow loading ELF binary
If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help.
(typically like this: GIR_EXTRA_LIBS_PATH="${B}/something/.libs" )
Makefile:3528: recipe for target 'gir/DBus-1.0.typelib' failed
make[2]: *** [gir/DBus-1.0.typelib] Error 1

You can check Yocto bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=9285

I attached the full compile log.

Revision history for this message
Yi Zhao (yizhao1) wrote :
Yi Zhao (yizhao1)
summary: - Failed to build gobject-introspection for qemumips64 on i686 hosts
+ Usermode qemu-mips64 does not run on 32 bit i686 hosts
description: updated
Revision history for this message
Peter Maydell (pmaydell) wrote :

Yes, in general you can't reliably run the linux-user QEMU for a 64-bit target on a 32-bit host. You'll need to run it on a 64-bit host instead.

Revision history for this message
Peter Maydell (pmaydell) wrote :

Whoops, I noted that 64-on-32 linux-user mode isn't expected to work back in 2016 but forgot to close the bug...

Changed in qemu:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.