summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_missing/accel_TCG/1402
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-01 21:35:14 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-06-01 21:35:14 +0200
commit3e4c5a6261770bced301b5e74233e7866166ea5b (patch)
tree9379fddaba693ef8a045da06efee8529baa5f6f4 /gitlab/issues_text/target_missing/host_missing/accel_TCG/1402
parente5634e2806195bee44407853c4bf8776f7abfa4f (diff)
downloadqemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.tar.gz
qemu-analysis-3e4c5a6261770bced301b5e74233e7866166ea5b.zip
clean up repository
Diffstat (limited to 'gitlab/issues_text/target_missing/host_missing/accel_TCG/1402')
-rw-r--r--gitlab/issues_text/target_missing/host_missing/accel_TCG/140259
1 files changed, 0 insertions, 59 deletions
diff --git a/gitlab/issues_text/target_missing/host_missing/accel_TCG/1402 b/gitlab/issues_text/target_missing/host_missing/accel_TCG/1402
deleted file mode 100644
index c4d4bcd4f..000000000
--- a/gitlab/issues_text/target_missing/host_missing/accel_TCG/1402
+++ /dev/null
@@ -1,59 +0,0 @@
-cpu-exec.c fails to compile - code path is reachable
-Description of problem:
-Building qemu (tested with both gcc11 and gcc12) fails with:
-
-```
-[34/76] Compiling C object libqemu-aarch64-softmmu.fa.p/accel_tcg_cpu-exec.c.o
-FAILED: libqemu-aarch64-softmmu.fa.p/accel_tcg_cpu-exec.c.o
-gcc -m64 -mcx16 -Ilibqemu-aarch64-softmmu.fa.p -I. -I.. -Itarget/arm
--I../target/arm -I../dtc/libfdt -Iqapi -Itrace -Iui -Iui/shader
--I/opt/ooce/include/pixman-1
--I/data/omnios-build/omniosorg/qemu/libtasn1-4.19.0/out/include
--I/usr/include/glib-2.0 -I/usr/lib/amd64/glib-2.0/include
--fdiagnostics-color=auto -Wall -Winvalid-pch -std=gnu11 -O2 -g
--iquote . -iquote /data/omnios-build/omniosorg/qemu
--iquote /data/omnios-build/omniosorg/qemu/include
--iquote /data/omnios-build/omniosorg/qemu/tcg/i386
--pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D__EXTENSIONS__
--D_XOPEN_SOURCE=600 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
--Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
--fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition
--Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
--Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
--Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value
--Wno-psabi -fstack-protector-strong -m64 -gdwarf-2 -gstrict-dwarf
--fno-omit-frame-pointer -fno-aggressive-loop-optimizations -DNEED_CPU_H
-'-DCONFIG_TARGET="aarch64-softmmu-config-target.h"'
-'-DCONFIG_DEVICES="aarch64-softmmu-config-devices.h"' -MD -MQ
-libqemu-aarch64-softmmu.fa.p/accel_tcg_cpu-exec.c.o
--MF libqemu-aarch64-softmmu.fa.p/accel_tcg_cpu-exec.c.o.d
--o libqemu-aarch64-softmmu.fa.p/accel_tcg_cpu-exec.c.o
--c ../accel/tcg/cpu-exec.c
-In file included from ../accel/tcg/cpu-exec.c:20:
-In function 'tb_pc',
-    inlined from 'cpu_tb_exec' at ../accel/tcg/cpu-exec.c:465:13:
-/data/omnios-build/omniosorg/qemu/include/qemu/osdep.h:184:35: error: call to 'qemu_build_not_reached_always' declared with attribute error: code path is reachable
-  184 | #define qemu_build_not_reached()  qemu_build_not_reached_always()
-      |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-/data/omnios-build/omniosorg/qemu/include/exec/exec-all.h:608:5: note: in expansion of macro 'qemu_build_not_reached'
-  608 |     qemu_build_not_reached();
-      |     ^~~~~~~~~~~~~~~~~~~~~~
-```
-Additional information:
-It appears that the compiler is not smart enough to realise that `TARGET_TB_PCREL` is false in the branch there or is not able to infer that from the `assert()`.
-
-Adding an explicit check as a workaround allows compilation to continue.
-
-```diff
---- a/accel/tcg/cpu-exec.c
-+++ b/accel/tcg/cpu-exec.c
-@@ -459,7 +459,7 @@ cpu_tb_exec(CPUState *cpu, TranslationBlock *itb, int *tb_exit)
-
-         if (cc->tcg_ops->synchronize_from_tb) {
-             cc->tcg_ops->synchronize_from_tb(cpu, last_tb);
--        } else {
-+        } else if (!TARGET_TB_PCREL) {
-             assert(!TARGET_TB_PCREL);
-             assert(cc->set_pc);
-             cc->set_pc(cpu, tb_pc(last_tb));
-```