On Wed, Oct 03, 2012 at 11:48:21AM +0000, [email protected] wrote: > Module: openembedded-core.git > Branch: master > Commit: 53b3103abdf21123b1c7be49b05cfe97a7cd9ed7 > URL: > http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=53b3103abdf21123b1c7be49b05cfe97a7cd9ed7 > > Author: Laurentiu Palcu <[email protected]> > Date: Wed Oct 3 14:23:26 2012 +0300 > > qemu: add wrapper for qemu-mips binary > > qemu-mips user emulation binary segfaults when running any kind of > binary. This is due to a MMU access fault in the virtual CPU. This > problem has been introduced in qemu when 4GB of vmem were reserved for > 32-on-64 bit. > > This workaround will need to be reverted once the proper fix is found. > > [YOCTO #3143] > > Signed-off-by: Laurentiu Palcu <[email protected]> > Signed-off-by: Richard Purdie <[email protected]> > > --- > > meta/recipes-devtools/qemu/qemu_1.2.0.bb | 15 ++++++++++++++- > 1 files changed, 14 insertions(+), 1 deletions(-) > > diff --git a/meta/recipes-devtools/qemu/qemu_1.2.0.bb > b/meta/recipes-devtools/qemu/qemu_1.2.0.bb > index 191ee48..cbdb4d4 100644 > --- a/meta/recipes-devtools/qemu/qemu_1.2.0.bb > +++ b/meta/recipes-devtools/qemu/qemu_1.2.0.bb > @@ -17,7 +17,7 @@ SRC_URI = "\ > SRC_URI[md5sum] = "78eb1e984f4532aa9f2bdd3c127b5b61" > SRC_URI[sha256sum] = > "c8b84420d9f4869397f84cad2dabd9a475b7723d619a924a873740353e9df936" > > -PR = "r2" > +PR = "r3" > > SRC_URI_append_virtclass-nativesdk = "\ > file://relocatable_sdk.patch \ > @@ -29,6 +29,19 @@ do_configure_prepend_virtclass-nativesdk() { > sed -i 's/-lX11//g' Makefile.target > fi > } > + > +# The following fragment will create a wrapper for qemu-mips user emulation > +# binary in order to work around a segmentation fault issue. Basically, by > +# default, the reserved virtual address space for 32-on-64 bit is set to 4GB. > +# This will trigger a MMU access fault in the virtual CPU. With this change, > +# the qemu-mips works fine. > +# IMPORTANT: This piece needs to be removed once the root cause is fixed! > +do_install_append() { > + create_wrapper ${D}/${bindir}/qemu-mips \ > + QEMU_RESERVED_VA=0x0 > +} > +# END of qemu-mips workaround
What about checking if mips is in QEMU_TARGETS before doing this?
Right now this breaks all distros without mips in QEMU_TARGETS.
Cheers,
> +
> do_configure_prepend_virtclass-native() {
> # Undo the -lX11 added by linker-flags.patch, don't assume that host
> has libX11 installed
> sed -i 's/-lX11//g' Makefile.target
>
>
> _______________________________________________
> Openembedded-commits mailing list
> [email protected]
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
--
Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
