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

Reply via email to