Commit 4c59b490ba for qemu.org

commit 4c59b490bae29d04766137e74aba5c726af1e866
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date:   Fri May 15 08:41:41 2026 +0100

    hw/arm: Build ARM/HVF GICv3 stub once

    Move arm_gicv3_hvf_stub.c, introduced in commit 48396ad6ce9
    ("hw/intc: arm_gicv3_hvf: save/restore Apple GIC state"), to
    the global stub_ss[] source set which holds stub files being
    built once for all binaries, instead of one time per system
    binary. This prevents symbol clash when trying to build a
    single QEMU system binary:

      clang: error: linker command failed with exit code 1 (use -v to see invocation)
      duplicate symbol '_vmstate_gicv3_hvf' in:
          libqemu-aarch64-softmmu.a.p/hw_intc_arm_gicv3_hvf_stub.c.o
          libqemu-arm-softmmu.a.p/hw_intc_arm_gicv3_hvf_stub.c.o
      ld: 1 duplicate symbols

    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
    Reviewed-by: Mohamed Mediouni <mohamed@unpredictable.fr>
    Message-id: 20260507135816.71171-1-philmd@linaro.org
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

diff --git a/hw/intc/meson.build b/hw/intc/meson.build
index d7db99ce35..fac2d228f9 100644
--- a/hw/intc/meson.build
+++ b/hw/intc/meson.build
@@ -47,7 +47,7 @@ arm_common_ss.add(when: 'CONFIG_ARM_GICV3', if_true: files('arm_gicv3_cpuif.c'))
 specific_ss.add(when: 'CONFIG_ARM_GIC_KVM', if_true: files('arm_gic_kvm.c'))
 specific_ss.add(when: ['CONFIG_WHPX', 'TARGET_AARCH64'], if_true: files('arm_gicv3_whpx.c'))
 specific_ss.add(when: ['CONFIG_HVF', 'CONFIG_ARM_GICV3'], if_true: files('arm_gicv3_hvf.c'))
-specific_ss.add(when: ['CONFIG_HVF', 'CONFIG_ARM_GICV3'], if_false: files('arm_gicv3_hvf_stub.c'))
+stub_ss.add(files('arm_gicv3_hvf_stub.c'))
 specific_ss.add(when: ['CONFIG_ARM_GIC_KVM', 'TARGET_AARCH64'], if_true: files('arm_gicv3_kvm.c', 'arm_gicv3_its_kvm.c'))
 arm_common_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_nvic.c'))
 specific_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_irqmp.c'))