From: Philippe Mathieu-Daudé Date: Mon, 17 Nov 2025 18:06:49 +0000 (+0100) Subject: osdep: Undefine FSCALE definition to fix Solaris builds X-Git-Tag: v10.2.0-rc3~1^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df3b3046059edfae4b36cafe513f69d0c1ae78d5;p=thirdparty%2Fqemu.git osdep: Undefine FSCALE definition to fix Solaris builds Solaris defines FSCALE in : 301 /* 302 * Scale factor for scaled integers used to count 303 * %cpu time and load averages. 304 */ 305 #define FSHIFT 8 /* bits to right of fixed binary point */ 306 #define FSCALE (1<esz], a) | ^~~~~~~~~~ ../target/arm/tcg/translate-sve.c:4249:1: note: in expansion of macro 'DO_ZPZZ_FP' 4249 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn) | ^~~~~~~~~~ ../target/arm/tcg/translate-sve.c:4249:12: error: expected declaration specifiers or '...' before numeric constant 4249 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn) | ^~~~~~ ../target/arm/tcg/translate.h:875:25: note: in definition of macro 'TRANS_FEAT' 875 | static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \ | ^~~~ ../target/arm/tcg/translate-sve.c:4249:1: note: in expansion of macro 'DO_ZPZZ_FP' 4249 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn) | ^~~~~~~~~~ ../target/arm/tcg/translate.h:875:47: error: pasting "arg_" and "(" does not give a valid preprocessing token 875 | static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \ | ^~~~ ../target/arm/tcg/translate-sve.c:4205:5: note: in expansion of macro 'TRANS_FEAT' 4205 | TRANS_FEAT(NAME, FEAT, gen_gvec_fpst_arg_zpzz, name##_zpzz_fns[a->esz], a) | ^~~~~~~~~~ ../target/arm/tcg/translate-sve.c:4249:1: note: in expansion of macro 'DO_ZPZZ_FP' 4249 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn) | ^~~~~~~~~~ In file included from ../target/arm/tcg/translate-sve.c:100: libqemu-aarch64-softmmu.a.p/decode-sve.c.inc:1227:13: warning: 'trans_FSCALE' used but never defined 1227 | static bool trans_FSCALE(DisasContext *ctx, arg_FSCALE *a); | ^~~~~~~~~~~~ ../target/arm/tcg/translate-sve.c:4249:30: warning: 'sve_fscalbn_zpzz_fns' defined but not used [-Wunused-const-variable=] 4249 | DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn) | ^~~~~~~~~~~ ../target/arm/tcg/translate-sve.c:4201:42: note: in definition of macro 'DO_ZPZZ_FP' 4201 | static gen_helper_gvec_4_ptr * const name##_zpzz_fns[4] = { \ | ^~~~ As a kludge, undefine it globally in . Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20251203120315.62889-1-philmd@linaro.org> --- diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index cf8d7cf7e6..3cb45a1467 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -141,6 +141,12 @@ QEMU_EXTERN_C int daemon(int, int); #undef ELF_DATA #undef ELF_ARCH +/* + * Avoid conflict with Solaris FSCALE definition from header, + * but we might as well do this unconditionally. + */ +#undef FSCALE + #ifdef CONFIG_IOVEC #include #endif