On Tue, Mar 10, 2015 at 01:45:38PM +0100, Martin Kletzander wrote: > On Tue, Mar 10, 2015 at 12:24:03PM +0000, Daniel P. Berrange wrote: > >On Tue, Mar 10, 2015 at 01:05:22PM +0100, Ján Tomko wrote: > >> These are the failing qemuxml2argvtest cases: > >> 60) QEMU XML-2-ARGV hugepages-pages > >> ... libvirt: error : internal error: NUMA node 1 is unavailable > >> 63) QEMU XML-2-ARGV hugepages-shared > >> ... libvirt: error : internal error: NUMA node 1 is unavailable > >> 324) QEMU XML-2-ARGV numatune-memnode > >> ... libvirt: error : internal error: NUMA node 1 is unavailable > >> 326) QEMU XML-2-ARGV numatune-memnode-no-memory > >> ... libvirt: error : internal error: NUMA node 3 is unavailable > >> 329) QEMU XML-2-ARGV numatune-auto-prefer > >> ... libvirt: error : internal error: NUMA node 1 is unavailable > >> > >> So with 4 fake nodes, the tests could still pass even if the function is > >> not mocked. Try changing the nodeset in #326 to 4 if it fails. > >> > > I tried changing that, it fails. I tried adjusting the tests to more > nodes, it fails. After adjusting the mock function again, it works. > So it gets mocked all the time, but I know where the difference is, > probably. Try building with -O0, it will probably disable the > inlining. However, if that's the case, I believe it's still clang's > fault since they don't document inlining functions without the > "inline" keyword just because you optimize. > -O0 does disable the inlining, but introduces the stack size warning. > >> > > >> > >> [1] https://gcc.gnu.org/onlinedocs/gcc/Inline.html > >> > >> [2] http://clang.llvm.org/compatibility.html > >> > >> > >> > >> >>--- > >> > >> >>This only leaves the mysterious check-protocol failure. > >> > >> > >> > >> That's not that mysterious, it's just that we check the order and > >> > >> clang sorts enums before structs, but gcc doesn't. Also clang adds > >> > >> "public:" to structs, so it probably treats it as a C++ or C# structs > >> > >> or something? > >> > >> > >> > > >> > By the way if I compile with clang with -std=gnu11 or -std=gnu99, the > >> > "public:" stuff is gone :) > >> > > >> > >> It is mysterious, because it doesn't fail consistently. > > Oh, it does fail all the time for me. Did I mistakenly build with gcc to fix it? > > >> It was working for me after I tried it again after > >> 'git clean -fxd', today it failed again (though I don't remember if I > >> ran autogen again). > > > >How exactly are you running the build with clang ? Are you just doing > >this > > > > CC=clang ./autogen.sh && make && make check > > > >Or is there more to it than that ? > > ./autogen.sh --system --without-driver-modules CC="clang" && make -j5 check Now it failed two times in a row, and once without parallel make. I have no idea what I did back then that fixed it. Jan
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list