qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] meson: use config_base_arch for target libraries
@ 2025-06-02 23:38 Pierrick Bouvier
  2025-06-02 23:41 ` Pierrick Bouvier
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Pierrick Bouvier @ 2025-06-02 23:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: clg, nabihestefan, Paolo Bonzini, Marc-André Lureau,
	Philippe Mathieu-Daudé, thuth, Daniel P. Berrangé,
	Pierrick Bouvier

Fixed commit introduced common dependencies for target libraries. Alas,
it wrongly reused the 'target' variable, which was previously set from
another loop.

Thus, some dependencies were missing depending on order of target list,
as found here [1].

The fix is to use the correct config_base_arch instead.
Kudos to Thomas Huth who had this right, before I reimplement it, and
introduce this bug.

[1] https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e61de@linaro.org/

Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 meson.build | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/meson.build b/meson.build
index 2df89006f8b..ad9cef99ed9 100644
--- a/meson.build
+++ b/meson.build
@@ -4142,13 +4142,12 @@ common_all = static_library('common',
 target_common_arch_libs = {}
 target_common_system_arch_libs = {}
 foreach target_base_arch, config_base_arch : config_base_arch_mak
-  config_target = config_target_mak[target]
   target_inc = [include_directories('target' / target_base_arch)]
   inc = [common_user_inc + target_inc]
 
-  target_common = common_ss.apply(config_target, strict: false)
-  target_system = system_ss.apply(config_target, strict: false)
-  target_user = user_ss.apply(config_target, strict: false)
+  target_common = common_ss.apply(config_base_arch, strict: false)
+  target_system = system_ss.apply(config_base_arch, strict: false)
+  target_user = user_ss.apply(config_base_arch, strict: false)
   common_deps = []
   system_deps = []
   user_deps = []
-- 
2.47.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] meson: use config_base_arch for target libraries
  2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
@ 2025-06-02 23:41 ` Pierrick Bouvier
  2025-06-03  6:05 ` Thomas Huth
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Pierrick Bouvier @ 2025-06-02 23:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: clg, nabihestefan, Paolo Bonzini, Marc-André Lureau,
	Philippe Mathieu-Daudé, thuth, Daniel P. Berrangé

On 6/2/25 4:38 PM, Pierrick Bouvier wrote:
> Fixed commit introduced common dependencies for target libraries. Alas,
> it wrongly reused the 'target' variable, which was previously set from
> another loop.
> 
> Thus, some dependencies were missing depending on order of target list,
> as found here [1].
> 
> The fix is to use the correct config_base_arch instead.
> Kudos to Thomas Huth who had this right, before I reimplement it, and
> introduce this bug.
> 
> [1] https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e61de@linaro.org/
> 
> Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   meson.build | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 2df89006f8b..ad9cef99ed9 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -4142,13 +4142,12 @@ common_all = static_library('common',
>   target_common_arch_libs = {}
>   target_common_system_arch_libs = {}
>   foreach target_base_arch, config_base_arch : config_base_arch_mak
> -  config_target = config_target_mak[target]
>     target_inc = [include_directories('target' / target_base_arch)]
>     inc = [common_user_inc + target_inc]
>   
> -  target_common = common_ss.apply(config_target, strict: false)
> -  target_system = system_ss.apply(config_target, strict: false)
> -  target_user = user_ss.apply(config_target, strict: false)
> +  target_common = common_ss.apply(config_base_arch, strict: false)
> +  target_system = system_ss.apply(config_base_arch, strict: false)
> +  target_user = user_ss.apply(config_base_arch, strict: false)
>     common_deps = []
>     system_deps = []
>     user_deps = []

As arm targets can be impacted by the build bug fixed here, it would be 
nice if this could be merged upstream quickly.

Thanks,
Pierrick


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] meson: use config_base_arch for target libraries
  2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
  2025-06-02 23:41 ` Pierrick Bouvier
@ 2025-06-03  6:05 ` Thomas Huth
  2025-06-03  7:12 ` Cédric Le Goater
  2025-06-03 14:51 ` Paolo Bonzini
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2025-06-03  6:05 UTC (permalink / raw)
  To: Pierrick Bouvier, qemu-devel
  Cc: clg, nabihestefan, Paolo Bonzini, Marc-André Lureau,
	Philippe Mathieu-Daudé, Daniel P. Berrangé

On 03/06/2025 01.38, Pierrick Bouvier wrote:
> Fixed commit introduced common dependencies for target libraries. Alas,
> it wrongly reused the 'target' variable, which was previously set from
> another loop.
> 
> Thus, some dependencies were missing depending on order of target list,
> as found here [1].
> 
> The fix is to use the correct config_base_arch instead.
> Kudos to Thomas Huth who had this right, before I reimplement it, and

s/Thomas Huth/Paolo Bonzini/ ... it was his patch indeed, I just was the one 
who sent it as a proper patch to the mailing list.

> introduce this bug.
> 
> [1] https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e61de@linaro.org/
> 
> Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   meson.build | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 2df89006f8b..ad9cef99ed9 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -4142,13 +4142,12 @@ common_all = static_library('common',
>   target_common_arch_libs = {}
>   target_common_system_arch_libs = {}
>   foreach target_base_arch, config_base_arch : config_base_arch_mak
> -  config_target = config_target_mak[target]
>     target_inc = [include_directories('target' / target_base_arch)]
>     inc = [common_user_inc + target_inc]
>   
> -  target_common = common_ss.apply(config_target, strict: false)
> -  target_system = system_ss.apply(config_target, strict: false)
> -  target_user = user_ss.apply(config_target, strict: false)
> +  target_common = common_ss.apply(config_base_arch, strict: false)
> +  target_system = system_ss.apply(config_base_arch, strict: false)
> +  target_user = user_ss.apply(config_base_arch, strict: false)
>     common_deps = []
>     system_deps = []
>     user_deps = []

With the patch description updated:
Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] meson: use config_base_arch for target libraries
  2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
  2025-06-02 23:41 ` Pierrick Bouvier
  2025-06-03  6:05 ` Thomas Huth
@ 2025-06-03  7:12 ` Cédric Le Goater
  2025-06-03 14:51 ` Paolo Bonzini
  3 siblings, 0 replies; 5+ messages in thread
From: Cédric Le Goater @ 2025-06-03  7:12 UTC (permalink / raw)
  To: Pierrick Bouvier, qemu-devel
  Cc: nabihestefan, Paolo Bonzini, Marc-André Lureau,
	Philippe Mathieu-Daudé, thuth, Daniel P. Berrangé

On 6/3/25 01:38, Pierrick Bouvier wrote:
> Fixed commit introduced common dependencies for target libraries. Alas,
> it wrongly reused the 'target' variable, which was previously set from
> another loop.
> 
> Thus, some dependencies were missing depending on order of target list,
> as found here [1].
> 
> The fix is to use the correct config_base_arch instead.
> Kudos to Thomas Huth who had this right, before I reimplement it, and
> introduce this bug.
> 
> [1] https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e61de@linaro.org/
> 
> Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>


Tested-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> ---
>   meson.build | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 2df89006f8b..ad9cef99ed9 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -4142,13 +4142,12 @@ common_all = static_library('common',
>   target_common_arch_libs = {}
>   target_common_system_arch_libs = {}
>   foreach target_base_arch, config_base_arch : config_base_arch_mak
> -  config_target = config_target_mak[target]
>     target_inc = [include_directories('target' / target_base_arch)]
>     inc = [common_user_inc + target_inc]
>   
> -  target_common = common_ss.apply(config_target, strict: false)
> -  target_system = system_ss.apply(config_target, strict: false)
> -  target_user = user_ss.apply(config_target, strict: false)
> +  target_common = common_ss.apply(config_base_arch, strict: false)
> +  target_system = system_ss.apply(config_base_arch, strict: false)
> +  target_user = user_ss.apply(config_base_arch, strict: false)
>     common_deps = []
>     system_deps = []
>     user_deps = []



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] meson: use config_base_arch for target libraries
  2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
                   ` (2 preceding siblings ...)
  2025-06-03  7:12 ` Cédric Le Goater
@ 2025-06-03 14:51 ` Paolo Bonzini
  3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2025-06-03 14:51 UTC (permalink / raw)
  To: Pierrick Bouvier
  Cc: qemu-devel, clg, nabihestefan, Marc-André Lureau,
	Philippe Mathieu-Daudé, thuth, Daniel P . Berrangé

Queued, thanks.

Paolo



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-06-03 14:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
2025-06-02 23:41 ` Pierrick Bouvier
2025-06-03  6:05 ` Thomas Huth
2025-06-03  7:12 ` Cédric Le Goater
2025-06-03 14:51 ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).