On 5/10/26 22:46, [email protected] wrote:
From: Marc-André Lureau <[email protected]>

Commit 0b83acf2f05 moved gen_features_h from s390x_ss to
s390x_common_ss. However s390x_system_ss (containing ioinst.c) was left
without the dependency, causing a build race: it can be compiled before
gen-features.h is generated (via cpu.h -> cpu_models.h -> cpu_features.h
-> gen-features.h)

Add gen_features_h to s390x_system_ss to correct the build ordering.

Fixes: 0b83acf2f05 ("target/s390x: Introduce common system/user meson source 
set")
Signed-off-by: Marc-André Lureau <[email protected]>
---
  target/s390x/meson.build | 1 +
  1 file changed, 1 insertion(+)

diff --git a/target/s390x/meson.build b/target/s390x/meson.build
index 44f58ac2919..bc4459e8ed7 100644
--- a/target/s390x/meson.build
+++ b/target/s390x/meson.build
@@ -26,6 +26,7 @@ s390x_common_ss.add(files(
    'gdbstub.c',
  ))
+s390x_system_ss.add(gen_features_h)
  s390x_system_ss.add(files(
    'ioinst.c',
  ))

The patch makes sense, but somehow I cannot reproduce the issue.
I would expect the following to do the trick:

$ make clean
$ make libqemu-s390x-softmmu.a.p/target_s390x_ioinst.c.o -j24

because if there is no dependency, then the header file will not be
generated and compiler will fail, but this actually succeeds.

Reply via email to