Message ID | 20231018222557.1562065-16-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [PULL,01/29] tcg/ppc: Untabify tcg-target.c.inc | expand |
On Wed, 18 Oct 2023 at 15:30, Richard Henderson <richard.henderson@linaro.org> wrote: > > Provide a define to allow !tcg_use_softmmu code paths to > compile in system mode, but require elimination. > > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > tcg/tcg.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tcg/tcg.c b/tcg/tcg.c > index d3a4a17ef2..35158a0846 100644 > --- a/tcg/tcg.c > +++ b/tcg/tcg.c > @@ -178,6 +178,10 @@ static bool tcg_target_const_match(int64_t val, TCGType type, int ct, int vece); > static int tcg_out_ldst_finalize(TCGContext *s); > #endif > > +#ifndef CONFIG_USER_ONLY > +#define guest_base ({ qemu_build_not_reached(); (uintptr_t)0; }) > +#endif Please take a look at this CI failure: cc -m64 -mcx16 -Itcg/libtcg_system.fa.p -Itcg -I../tcg -I. -Iqapi -Itrace -Iui -Iui/shader -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -fstack-protector-strong -Wundef -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wmissing-format-attribute -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -Wno-psabi -Wno-gnu-variable-sized-type-not-at-end -Wthread-safety -iquote . -iquote /tmp/cirrus-ci-build -iquote /tmp/cirrus-ci-build/include -iquote /tmp/cirrus-ci-build/host/include/x86_64 -iquote /tmp/cirrus-ci-build/host/include/generic -iquote /tmp/cirrus-ci-build/tcg/i386 -pthread -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -fPIE -DCONFIG_SOFTMMU -MD -MQ tcg/libtcg_system.fa.p/tcg.c.o -MF tcg/libtcg_system.fa.p/tcg.c.o.d -o tcg/libtcg_system.fa.p/tcg.c.o -c ../tcg/tcg.c In file included from ../tcg/tcg.c:744: /tmp/cirrus-ci-build/tcg/i386/tcg-target.c.inc:1953:35: error: cannot take the address of an rvalue of type 'uintptr_t' (aka 'unsigned long') if (sysarch(AMD64_SET_GSBASE, &guest_base) == 0) { ^~~~~~~~~~~ 1 error generated. https://gitlab.com/qemu-project/qemu/-/jobs/5329820109 > + > typedef struct TCGLdstHelperParam { > TCGReg (*ra_gen)(TCGContext *s, const TCGLabelQemuLdst *l, int arg_reg); > unsigned ntmp; > -- > 2.34.1 > >
diff --git a/tcg/tcg.c b/tcg/tcg.c index d3a4a17ef2..35158a0846 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -178,6 +178,10 @@ static bool tcg_target_const_match(int64_t val, TCGType type, int ct, int vece); static int tcg_out_ldst_finalize(TCGContext *s); #endif +#ifndef CONFIG_USER_ONLY +#define guest_base ({ qemu_build_not_reached(); (uintptr_t)0; }) +#endif + typedef struct TCGLdstHelperParam { TCGReg (*ra_gen)(TCGContext *s, const TCGLabelQemuLdst *l, int arg_reg); unsigned ntmp;