On 12/09/2025 3:44 pm, Andrew Cooper wrote:
> Randconfig with GCC-14 (Debian Trixie) found:
>
> In file included from arch/x86/x86_emulate/x86_emulate.c:11,
> from arch/x86/x86_emulate.c:27:
> arch/x86/x86_emulate/x86_emulate.c: In function 'x86_emulate':
> arch/x86/x86_emulate/private.h:482:8: error: Too many conditions (found
> 826); giving up coverage [-Werror=coverage-too-many-conditions]
> 482 | ({ if ( (p) ) {
> \
> | ^
> arch/x86/x86_emulate/x86_emulate.c:1283:5: note: in expansion of macro
> 'generate_exception_if'
> 1283 | generate_exception_if((mode_vif() &&
> | ^~~~~~~~~~~~~~~~~~~~~
>
> which is a consequence of having a new enough compiler to allow
> CONFIG_CONDITIONAL_COVERAGE in to the mix.
>
> In the short term make warning non-fatal.
>
> Signed-off-by: Andrew Cooper <[email protected]>
> ---
> CC: Jan Beulich <[email protected]>
> CC: Roger Pau Monné <[email protected]>
> CC: Anthony PERARD <[email protected]>
> CC: Michal Orzel <[email protected]>
> CC: Julien Grall <[email protected]>
> CC: Stefano Stabellini <[email protected]>
> CC: Volodymyr Babchuk <[email protected]>
>
> v4:
> * New
>
> Full failure logs:
> https://gitlab.com/xen-project/hardware/xen-staging/-/jobs/11331286819
> ---
> xen/arch/x86/Makefile | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index d7aed7d92c15..a0bba5d9085e 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -98,6 +98,9 @@ $(obj)/usercopy.o: CFLAGS-y += -iquote .
> ifneq ($(CONFIG_HVM),y)
> $(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
> endif
> +ifneq ($(CONFIG_CONDITION_COVERAGE),y)
> +$(obj)/x86_emulate.o: CFLAGS-y += $(call
> cc-option,$(CC),-Wno-error=coverage-too-many-conditions)
> +endif
This should be ifeq, not ifneq. It's probably safe to drop the
cc-option too, as that limits it to compilers which know
-fcondition-coverage
~Andrew