Peter Maydell <peter.mayd...@linaro.org> writes:
> On Tue, 14 Jul 2020 at 10:52, Alex Bennée <alex.ben...@linaro.org> wrote: >> >> The following changes since commit 20c1df5476e1e9b5d3f5b94f9f3ce01d21f14c46: >> >> Merge remote-tracking branch >> 'remotes/kraxel/tags/fixes-20200713-pull-request' into staging (2020-07-13 >> 16:58:44 +0100) >> >> are available in the Git repository at: >> >> https://github.com/stsquad/qemu.git tags/pull-misc-for-rc0-140720-1 >> >> for you to fetch changes up to 4e6400c97024c2660b6db8aab1f0677744449f36: >> >> plugins: expand the bb plugin to be thread safe and track per-cpu >> (2020-07-14 09:08:25 +0100) >> >> ---------------------------------------------------------------- >> Final fixes for 5.1-rc0 >> >> - minor documentation nit >> - clean all deps on re(configure) >> - docker.py bootstrap fixes >> - tweak containers.yml wildcards >> - fix float16 nan detection >> - conditional use of -Wpsabi >> - fix missing iotlb data for plugins >> - proper locking for helper based bb count > > Fails "make check" on aarch32 and aarch64 hosts, because > eg qemu-system-arm segfaults on startup: > > $ gdb --args ./arm-softmmu/qemu-system-arm -M virt -display none > [...] > (gdb) r > Starting program: /home/pm/qemu/build/all/arm-softmmu/qemu-system-arm > -M virt -display none > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1". > [New Thread 0xffffe873e550 (LWP 1666261)] > [New Thread 0xffffe7f3d550 (LWP 1666262)] > [New Thread 0xffffe72e7550 (LWP 1666263)] > > Thread 4 "qemu-system-arm" received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xffffe72e7550 (LWP 1666263)] > 0x0000aaaaab1da004 in object_class_dynamic_cast_assert (class=0xaaaaabc209e0, > typename=typename@entry=0xaaaaab33bfe8 "cpu", > file=file@entry=0xaaaaab3201a0 "/home/pm/qemu/accel/tcg/cputlb.c", > line=line@entry=1025, func=func@entry=0xaaaaab3202f0 > <__func__.35278> "tlb_fill") at /home/pm/qemu/qom/object.c:917 > 917 trace_object_class_dynamic_cast_assert(class ? > class->type->name : "(null)", > (gdb) bt > #0 0x0000aaaaab1da004 in object_class_dynamic_cast_assert > (class=0xaaaaabc209e0, typename=typename@entry=0xaaaaab33bfe8 > "cpu", file=file@entry=0xaaaaab3201a0 > "/home/pm/qemu/accel/tcg/cputlb.c", line=line@entry=1025, > func=func@entry=0xaaaaab3202f0 <__func__.35278> "tlb_fill") > at /home/pm/qemu/qom/object.c:917 > #1 0x0000aaaaaaded754 in tlb_fill > (cpu=0xaaaaabd301c0, addr=0, size=0, access_type=MMU_INST_FETCH, > mmu_idx=2, retaddr=0) > at /home/pm/qemu/accel/tcg/cputlb.c:1025 > #2 0x0000aaaaaadf0e08 in get_page_addr_code_hostp > (env=0xaaaaabd39870, addr=addr@entry=0, hostp=hostp@entry=0x0) > at /home/pm/qemu/include/exec/cpu-all.h:451 > #3 0x0000aaaaaadf0e70 in get_page_addr_code (env=<optimized out>, > addr=addr@entry=0) > at /home/pm/qemu/accel/tcg/cputlb.c:1243 > #4 0x0000aaaaaae08c30 in tb_htable_lookup > (cpu=cpu@entry=0xaaaaabd301b0, pc=0, cs_base=<optimized out>, > flags=38928384, cf_mask=4278714368) > at /home/pm/qemu/accel/tcg/cpu-exec.c:337 > #5 0x0000aaaaaae09b14 in tb_lookup__cpu_state > (cf_mask=<optimized out>, flags=0xffffe72e6b48, > cs_base=0xffffe72e6b40, pc=0xffffe72e6b44, cpu=0xaaaaabd301b0) > at /home/pm/qemu/include/exec/tb-lookup.h:43 > #6 tb_find (cf_mask=<optimized out>, tb_exit=0, last_tb=0x0, > cpu=0xaaaaabd301b0) > at /home/pm/qemu/accel/tcg/cpu-exec.c:404 > #7 cpu_exec (cpu=cpu@entry=0xaaaaabd301b0) at > /home/pm/qemu/accel/tcg/cpu-exec.c:731 > #8 0x0000aaaaaaec45c4 in tcg_cpu_exec (cpu=0xaaaaabd301b0) at > /home/pm/qemu/softmmu/cpus.c:1356 > #9 0x0000aaaaaaec69ec in qemu_tcg_cpu_thread_fn > (arg=arg@entry=0xaaaaabd301b0) at /home/pm/qemu/softmmu/cpus.c:1664 > #10 0x0000aaaaab2e1758 in qemu_thread_start (args=<optimized out>) at > /home/pm/qemu/util/qemu-thread-posix.c:521 > #11 0x0000fffff57be4fc in start_thread (arg=0xffffffffe10f) at > pthread_create.c:477 > #12 0x0000fffff5716f2c in thread_start () at > ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 This goes away after a make clean and rebuild. I suspect the commit: configure: remove all dependencies on a (re)configure just causes the build to miss more of the bits on a rebuild. I'll drop it for now and just live with the random syscall_nr.h files. -- Alex Bennée