On 27/03/2025 4:31 pm, Andrew Cooper wrote: > diff --git a/Config.mk b/Config.mk > index 8a73f3da62b4..a9d62fc10cfa 100644 > --- a/Config.mk > +++ b/Config.mk > @@ -125,8 +125,18 @@ define cc-ver-check-closure > endif > endef > > -# Require GCC v4.1+ > -check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least > gcc-4.1") > +# Minimum GCC version: 5.1, except for RISCV which needs 11.1 > +ifeq ($(XEN_TARGET_ARCH),riscv64) > +check-$(gcc) = $(call cc-ver-check,CC,0x110100,"Xen requires at least GCC > 11.1") > +else > +check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC > 5.1") > +endif > + > +# Minimum Clang version: 11, x86 only > +ifeq ($(XEN_TARGET_ARCH),x86_64) > +check-$(clang) = $(call cc-ver-check,CC,0x110000,"Xen requires at least > Clang 11") > +endif > + > $(eval $(check-y))
No, this doesn't work. Tracing a RISC-V cross-compile, it's invoked with different $(CC)'s. + gcc -dumpversion + awk -F. { printf "0x%02x%02x%02x", $1, $2, $3} + [ 786432 -ge 327936 ] + echo y + riscv64-linux-gnu-gcc -dumpversion + awk -F. { printf "0x%02x%02x%02x", $1, $2, $3} + [ 786432 -ge 1114368 ] + echo n ~Andrew