On 1/16/21 8:46 PM, BALATON Zoltan wrote: > On Sat, 16 Jan 2021, Richard Henderson wrote: >> On 1/16/21 4:38 AM, BALATON Zoltan wrote: >>> >>> Commit 8fe35e0444be (tcg/optimize: Use tcg_constant_internal with >>> constant >>> folding) seems to break PPC emulation for me: >>> >>> Thread 3 "qemu-system-ppc" received signal SIGSEGV, Segmentation fault. >>> [Switching to Thread 0x7ffff51e7700 (LWP 22636)] >>> 0x0000555555afd4ee in ts_are_copies (ts2=0x7fff8c008f90, >>> ts1=0x7fff8c001510) at >>> ../tcg/optimize.c:68 >>> 68 return ts_info(ts)->next_copy != ts; >> >> I don't replicate this assertion. >> >> Interestingly, I replicate a different assertion: >> >> qemu-system-ppc: ../qemu/tcg/tcg.c:1210: tcg_temp_alloc: Assertion `n >> < 512' >> failed. >> Aborted (core dumped) >> >> What compiler version(s) are you guys using? > > With --enable-debug (that I don't normally use because it makes PPC > emulation too slow) I get the same assertion: > > qemu-system-ppc: ../tcg/tcg.c:1210: tcg_temp_alloc: Assertion `n < 512' > failed. > > Thread 3 "qemu-system-ppc" received signal SIGABRT, Aborted. > > (gdb) bt > #0 0x00007ffff6b29a7a in raise () at /lib64/libc.so.6 > #1 0x00007ffff6b12524 in abort () at /lib64/libc.so.6 > #2 0x00007ffff6b1240f in _nl_load_domain.cold.0 () at /lib64/libc.so.6 > #3 0x00007ffff6b1e9a2 in () at /lib64/libc.so.6 > #4 0x0000555555c5e7a6 in tcg_temp_alloc (s=0x7fff50000b60) at > tcg/tcg.c:1210 > #5 0x0000555555c5efcb in tcg_constant_internal (type=TCG_TYPE_I32, > val=-7401584) at tcg/tcg.c:1436 > #6 0x0000555555c7f921 in tcg_opt_gen_movi > (s=0x7fff50000b60, temps_used=0x7ffff51e94c0, op=0x7fff505d6308, > dst=140734535570720, val=18446744073702150032) > at tcg/optimize.c:247 > #7 0x0000555555c81e4b in tcg_optimize (s=0x7fff50000b60) at > tcg/optimize.c:1178 > #8 0x0000555555c6580a in tcg_gen_code (s=0x7fff50000b60, > tb=0x7fffb3181a00) at tcg/tcg.c:4490 > #9 0x0000555555c34f9c in tb_gen_code (cpu=0x5555567851e0, > pc=4287582720, cs_base=0, flags=24576, cflags=-16777216) > at accel/tcg/translate-all.c:1952 > #10 0x0000555555c79842 in tb_find (cpu=0x5555567851e0, last_tb=0x0, > tb_exit=0, cf_mask=0) at accel/tcg/cpu-exec.c:454 > #11 0x0000555555c7a109 in cpu_exec (cpu=0x5555567851e0) at > accel/tcg/cpu-exec.c:810 > #12 0x0000555555c6e906 in tcg_cpus_exec (cpu=0x5555567851e0) at > accel/tcg/tcg-cpus.c:57 > #13 0x0000555555cbf18e in rr_cpu_thread_fn (arg=0x5555567851e0) at > accel/tcg/tcg-cpus-rr.c:217 > #14 0x0000555555ea8531 in qemu_thread_start (args=0x5555567c63d0) at > util/qemu-thread-posix.c:521 > #15 0x00007ffff6cc004c in start_thread () at /lib64/libpthread.so.0 > #16 0x00007ffff6bf13af in clone () at /lib64/libc.so.6 > > Previous one was when configuring without --enable-debug, so maybe it > depends on compiler flags (-O2 vs. -O0).
--debug enables CONFIG_DEBUG_TCG (the n < 512 assertion).