summary refs log tree commit diff stats
path: root/gitlab/issues/target_arm/host_missing/accel_missing/2106.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_arm/host_missing/accel_missing/2106.toml')
-rw-r--r--gitlab/issues/target_arm/host_missing/accel_missing/2106.toml63
1 files changed, 63 insertions, 0 deletions
diff --git a/gitlab/issues/target_arm/host_missing/accel_missing/2106.toml b/gitlab/issues/target_arm/host_missing/accel_missing/2106.toml
new file mode 100644
index 00000000..bce4f368
--- /dev/null
+++ b/gitlab/issues/target_arm/host_missing/accel_missing/2106.toml
@@ -0,0 +1,63 @@
+id = 2106
+title = "QEMU build fail on Solaris 11.4 because \"FSCALE\" #defined by sys/param.h"
+state = "opened"
+created_at = "2024-01-16T19:39:42.479Z"
+closed_at = "n/a"
+labels = ["Build System", "target: arm"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2106"
+host-os = "Solaris 11.4"
+host-arch = "sparc"
+qemu-version = "n/a"
+guest-os = "n/a"
+guest-arch = "n/a"
+description = """Building `target/arm/tcg/translate-sve.c` fails on Solaris 11.4 because system's
+`/usr/include/sys/param.h` has `#define FSCALE (1 << FSHIFT)` which results
+in `DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn)` at `translate-sve.c:3864`
+attempting to expand the `#define` substitution instead of the text `FSCALE`.<p>I have not determined what the sequence of includes was that brought in `sys/param.h`<p>A workaround is to `#undef FSCALE`, but that may not be an appropriate long-term fix."""
+reproduce = """1. mkdir build && cd build
+2. ../configure --disable-docs --disable-rdma --enable-slirp
+3. gmake"""
+additional = """Full diagnostic output:
+```
+[1865/5402] Compiling C object libqemu-aarch64-softmmu.fa.p/target_arm_tcg_translate-sve.c.o
+FAILED: libqemu-aarch64-softmmu.fa.p/target_arm_tcg_translate-sve.c.o 
+cc -Ilibqemu-aarch64-softmmu.fa.p -I. -I.. -Itarget/arm -I../target/arm -Isubprojects/dtc/libfdt -I../subprojects/dtc/libfdt -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/glib-2.0 -I/usr/lib/sparcv9/glib-2.0/include -I/usr/include/pcre -fdiagnostics-color=auto -Wall -Winvalid-pch -std=gnu11 -O2 -g -fstack-protector-strong -Wundef -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -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 -Wmissing-format-attribute -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -Wshadow=local -iquote . -iquote /opt/qemu -iquote /opt/qemu/include -iquote /opt/qemu/host/include/generic -iquote /opt/qemu/tcg/sparc64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ -fPIE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DNEED_CPU_H '-DCONFIG_TARGET="aarch64-softmmu-config-target.h"' '-DCONFIG_DEVICES="aarch64-softmmu-config-devices.h"' -MD -MQ libqemu-aarch64-softmmu.fa.p/target_arm_tcg_translate-sve.c.o -MF libqemu-aarch64-softmmu.fa.p/target_arm_tcg_translate-sve.c.o.d -o libqemu-aarch64-softmmu.fa.p/target_arm_tcg_translate-sve.c.o -c ../target/arm/tcg/translate-sve.c
+In file included from ../target/arm/tcg/translate-sve.c:21:
+../target/arm/tcg/translate.h:728:17: error: pasting "trans_" and "(" does not give a valid preprocessing token
+  728 |     static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \\
+      |                 ^~~~~~
+../target/arm/tcg/translate-sve.c:3854:5: note: in expansion of macro ‘TRANS_FEAT’
+ 3854 |     TRANS_FEAT(NAME, FEAT, gen_gvec_fpst_arg_zpzz, name##_zpzz_fns[a->esz], a)
+      |     ^~~~~~~~~~
+../target/arm/tcg/translate-sve.c:3864:1: note: in expansion of macro ‘DO_ZPZZ_FP’
+ 3864 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn)
+      | ^~~~~~~~~~
+../target/arm/tcg/translate-sve.c:3864:12: error: expected declaration specifiers or ‘...’ before numeric constant
+ 3864 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn)
+      |            ^~~~~~
+../target/arm/tcg/translate.h:728:25: note: in definition of macro ‘TRANS_FEAT’
+  728 |     static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \\
+      |                         ^~~~
+../target/arm/tcg/translate-sve.c:3864:1: note: in expansion of macro ‘DO_ZPZZ_FP’
+ 3864 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn)
+      | ^~~~~~~~~~
+../target/arm/tcg/translate.h:728:47: error: pasting "arg_" and "(" does not give a valid preprocessing token
+  728 |     static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \\
+      |                                               ^~~~
+../target/arm/tcg/translate-sve.c:3854:5: note: in expansion of macro ‘TRANS_FEAT’
+ 3854 |     TRANS_FEAT(NAME, FEAT, gen_gvec_fpst_arg_zpzz, name##_zpzz_fns[a->esz], a)
+      |     ^~~~~~~~~~
+../target/arm/tcg/translate-sve.c:3864:1: note: in expansion of macro ‘DO_ZPZZ_FP’
+ 3864 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn)
+      | ^~~~~~~~~~
+In file included from ../target/arm/tcg/translate-sve.c:86:
+libqemu-aarch64-softmmu.fa.p/decode-sve.c.inc:1112:13: warning: ‘trans_FSCALE’ used but never defined
+ 1112 | static bool trans_FSCALE(DisasContext *ctx, arg_FSCALE *a);
+      |             ^~~~~~~~~~~~
+../target/arm/tcg/translate-sve.c:3864:30: warning: ‘sve_fscalbn_zpzz_fns’ defined but not used [-Wunused-const-variable=]
+ 3864 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn)
+      |                              ^~~~~~~~~~~
+../target/arm/tcg/translate-sve.c:3850:42: note: in definition of macro ‘DO_ZPZZ_FP’
+ 3850 |     static gen_helper_gvec_4_ptr * const name##_zpzz_fns[4] = { \\
+      |                                          ^~~~
+```"""