Hello Max, On Mon, Jan 19, 2015 at 9:56 AM, Max Krummenacher <max.oss...@gmail.com> wrote: > I made some progress. > We seem to be discussing two issues > > 1) > qemu stops with a segmentation fault. > When DEFAULTTUNE is "armv7ahf" or "armv7athf" and a binary is compiled > with "-static" and the gold linker is used, then the resulting binary > does not run on qemu or on real hardware. > The Angstrom distribution by default uses gold, so the issue presents > itself when using Angstrom. On the fsl-arm setup with poky gold is not > even built so one will not trigger the bug. > The solution for this is to change all compiler calls used for qemu > run binaries to include -fuse-ld=bfd. > > 2) > qemu runs indefinitely. > While hunting the above mentioned bug I found that when using qemu > with the sysroot, i.e. using the -L <path-to-sysroot> parameter qemu > executes and never returns. > On my machine free shows increasingly used RAM but I was to impatient > to ever see an OOM kill of qemu but maybe this is also what Colin > experiences and probably also why Alex does have issues with the "-L" > change.
Awesome analysis; I've been looking for some free time to debug this for a while do a HUGE thanks for all your work on this :-) > An strace qemu .... run shows that qemu runs in circles of recursive > symlink in /usr/lib/udev/ptest/.... files. > Using the fsl-arm setup with poky enables ptest. When udev has been > compiled in this setup those testfiles have been staged and qemu > chokes on them.. > http://lists.openembedded.org/pipermail/openembedded-core/2014-September/097098.html > > a) One way to go would be to fix udev in oe-core, e.g. > index 0f8e9b6..a93b58d 100644 > --- a/meta/recipes-core/udev/udev/add-install-ptest.patch > +++ b/meta/recipes-core/udev/udev/add-install-ptest.patch > @@ -21,7 +21,7 @@ Upstream-Status: Pending > + sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/Makefile > + $(MKDIR_P) $(DESTDIR)/test > + (cd $(top_srcdir) && install $(TESTS) $(DESTDIR)/test) > -+ tar -C $(DESTDIR)/test/ -xJf $(top_srcdir)/test/sys.tar.xz > ++ cp $(top_srcdir)/test/sys.tar.xz $(DESTDIR)/test/ > --- a/test/udev-test.pl 2012-03-18 16:43:36.000000000 +0100 > +++ b/test/udev-test.pl 2013-02-18 10:31:29.706357321 +0100 > @@ -1459,11 +1459,13 @@ > diff --git a/meta/recipes-core/udev/udev/run-ptest > b/meta/recipes-core/udev/udev/run-ptest > index c6961ce..0e39806 100644 > --- a/meta/recipes-core/udev/udev/run-ptest > +++ b/meta/recipes-core/udev/udev/run-ptest > @@ -1,3 +1,5 @@ > #!/bin/sh > > +tar -C test/ -xJf test/sys.tar.xz > make -k check-TESTS > +make test-sys-distclean > -- > 1.8.4.5 It'd be great if you could prepare a patch to address this in OE-Core; once it proves stable we can ask for it to be backported for Dizzy. > b) The quick fix would be to revert passing qemu the sysroot and make > sure that all binaries qemu executes are linked statically. As issue > 1) now can be addressed without linking dynamically I don't see real > disadvantages. > revert > http://git.yoctoproject.org/cgit/cgit.cgi/meta-java/commit/?id=ab51e51d9a9a51bedd19de09bcba4ce830dfc5e7 Agreed; we should do this. > c) The even quicker fix is to delete the testdata, i.e. > rm -rf <target-sysroot>/usr/lib/udev/ptest/test/sys > > > I will create/send a patch to address issues 1) and 2) solution b). As said above, please do a proper patch for OE-Core as well; so we solve the root cause of qemu failure. This allow us to use it later if we want to. Another thing, please add a link for this discussion in the commit log; when looking similar issues in future this can reduce a lot the research time :) -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel