qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] meson: Fix initrd-stress.img build
@ 2023-05-25 21:20 Fabiano Rosas
  2023-05-25 21:20 ` [PATCH 1/2] meson: Remove leftover comment Fabiano Rosas
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Fabiano Rosas @ 2023-05-25 21:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini

Just a small fix to the build of the initrd used by the migration
guestperf.py script.

$ cd build
$ make tests/migration/initrd-stress.img   <-- BROKEN
$ ./tests/migration/guestperf.py --binary /path/to/qemu-system-x86_64 \
--initrd ./tests/migration/initrd-stress.img --debug

Fabiano Rosas (2):
  meson: Remove leftover comment
  meson: Add static glib dependency for initrd-stress.img

 meson.build                 | 2 --
 tests/migration/meson.build | 4 +++-
 2 files changed, 3 insertions(+), 3 deletions(-)

-- 
2.35.3



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

* [PATCH 1/2] meson: Remove leftover comment
  2023-05-25 21:20 [PATCH 0/2] meson: Fix initrd-stress.img build Fabiano Rosas
@ 2023-05-25 21:20 ` Fabiano Rosas
  2023-05-25 21:20 ` [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img Fabiano Rosas
  2023-05-26  8:19 ` [PATCH 0/2] meson: Fix initrd-stress.img build Paolo Bonzini
  2 siblings, 0 replies; 8+ messages in thread
From: Fabiano Rosas @ 2023-05-25 21:20 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Daniel P. Berrangé,
	Thomas Huth, Philippe Mathieu-Daudé

Commit d2e6f9272d ("fuzz: remove fork-fuzzing scaffolding") removed
the linker script and forgot to remove the comment.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
 meson.build | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meson.build b/meson.build
index ef181ff2df..ba1b7012cd 100644
--- a/meson.build
+++ b/meson.build
@@ -395,8 +395,6 @@ if targetos != 'sunos' and not get_option('tsan')
   qemu_ldflags += cc.get_supported_link_arguments('-Wl,--warn-common')
 endif
 
-# Specify linker-script with add_project_link_arguments so that it is not placed
-# within a linker --start-group/--end-group pair
 if get_option('fuzzing')
   # Specify a filter to only instrument code that is directly related to
   # virtual-devices.
-- 
2.35.3



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

* [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img
  2023-05-25 21:20 [PATCH 0/2] meson: Fix initrd-stress.img build Fabiano Rosas
  2023-05-25 21:20 ` [PATCH 1/2] meson: Remove leftover comment Fabiano Rosas
@ 2023-05-25 21:20 ` Fabiano Rosas
  2023-05-26 10:32   ` Juan Quintela
  2023-05-26 10:35   ` Daniel P. Berrangé
  2023-05-26  8:19 ` [PATCH 0/2] meson: Fix initrd-stress.img build Paolo Bonzini
  2 siblings, 2 replies; 8+ messages in thread
From: Fabiano Rosas @ 2023-05-25 21:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Juan Quintela, Peter Xu, Leonardo Bras

We recently moved glib detection code to meson but the static libs
were left out. Add a specific dependency for stress.c which is linked
statically.

$ make V=1 tests/migration/initrd-stress.img

before:
 cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group
 /usr/lib64/libglib-2.0.so -Wl,--end-group
 ...
 bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so'

after:
 cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread
 -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group

Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson")
Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
 tests/migration/meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/migration/meson.build b/tests/migration/meson.build
index dd562355a1..ac71f13290 100644
--- a/tests/migration/meson.build
+++ b/tests/migration/meson.build
@@ -1,9 +1,11 @@
 sysprof = dependency('sysprof-capture-4', required: false)
+glib_static = dependency('glib-2.0', version: glib_req_ver, required: false,
+                         method: 'pkg-config', static: true)
 
 stress = executable(
   'stress',
   files('stress.c'),
-  dependencies: [glib, sysprof],
+  dependencies: [glib_static, sysprof],
   link_args: ['-static'],
   build_by_default: false,
 )
-- 
2.35.3



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

* Re: [PATCH 0/2] meson: Fix initrd-stress.img build
  2023-05-25 21:20 [PATCH 0/2] meson: Fix initrd-stress.img build Fabiano Rosas
  2023-05-25 21:20 ` [PATCH 1/2] meson: Remove leftover comment Fabiano Rosas
  2023-05-25 21:20 ` [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img Fabiano Rosas
@ 2023-05-26  8:19 ` Paolo Bonzini
  2023-05-26 11:36   ` Daniel P. Berrangé
  2 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2023-05-26  8:19 UTC (permalink / raw)
  To: Fabiano Rosas; +Cc: qemu-devel

Queued, thanks.

Paolo



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

* Re: [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img
  2023-05-25 21:20 ` [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img Fabiano Rosas
@ 2023-05-26 10:32   ` Juan Quintela
  2023-05-26 10:35   ` Daniel P. Berrangé
  1 sibling, 0 replies; 8+ messages in thread
From: Juan Quintela @ 2023-05-26 10:32 UTC (permalink / raw)
  To: Fabiano Rosas; +Cc: qemu-devel, Paolo Bonzini, Peter Xu, Leonardo Bras

Fabiano Rosas <farosas@suse.de> wrote:
> We recently moved glib detection code to meson but the static libs
> were left out. Add a specific dependency for stress.c which is linked
> statically.
>
> $ make V=1 tests/migration/initrd-stress.img
>
> before:
>  cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group
>  /usr/lib64/libglib-2.0.so -Wl,--end-group
>  ...
>  bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so'
>
> after:
>  cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread
>  -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group
>
> Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson")
> Signed-off-by: Fabiano Rosas <farosas@suse.de>

Reviewed-by: Juan Quintela <quintela@redhat.com>
Tested-by: Juan Quintela <quintela@redhat.com>

queued.



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

* Re: [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img
  2023-05-25 21:20 ` [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img Fabiano Rosas
  2023-05-26 10:32   ` Juan Quintela
@ 2023-05-26 10:35   ` Daniel P. Berrangé
  2023-05-26 13:09     ` Fabiano Rosas
  1 sibling, 1 reply; 8+ messages in thread
From: Daniel P. Berrangé @ 2023-05-26 10:35 UTC (permalink / raw)
  To: Fabiano Rosas
  Cc: qemu-devel, Paolo Bonzini, Juan Quintela, Peter Xu, Leonardo Bras

On Thu, May 25, 2023 at 06:20:44PM -0300, Fabiano Rosas wrote:
> We recently moved glib detection code to meson but the static libs
> were left out. Add a specific dependency for stress.c which is linked
> statically.
> 
> $ make V=1 tests/migration/initrd-stress.img
> 
> before:
>  cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group
>  /usr/lib64/libglib-2.0.so -Wl,--end-group
>  ...
>  bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so'
> 
> after:
>  cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread
>  -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group
> 
> Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson")
> Signed-off-by: Fabiano Rosas <farosas@suse.de>
> ---
>  tests/migration/meson.build | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/migration/meson.build b/tests/migration/meson.build
> index dd562355a1..ac71f13290 100644
> --- a/tests/migration/meson.build
> +++ b/tests/migration/meson.build
> @@ -1,9 +1,11 @@
>  sysprof = dependency('sysprof-capture-4', required: false)
> +glib_static = dependency('glib-2.0', version: glib_req_ver, required: false,
> +                         method: 'pkg-config', static: true)

Since required: false, the result might be "not found", which means
we'll still hit the linker error. I think we need to surround the
'executable()' bit in

  if glib_static.found()
     ...
  endif
  
>  
>  stress = executable(
>    'stress',
>    files('stress.c'),
> -  dependencies: [glib, sysprof],
> +  dependencies: [glib_static, sysprof],
>    link_args: ['-static'],
>    build_by_default: false,
>  )
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

* Re: [PATCH 0/2] meson: Fix initrd-stress.img build
  2023-05-26  8:19 ` [PATCH 0/2] meson: Fix initrd-stress.img build Paolo Bonzini
@ 2023-05-26 11:36   ` Daniel P. Berrangé
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2023-05-26 11:36 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Fabiano Rosas, qemu-devel

On Fri, May 26, 2023 at 10:19:21AM +0200, Paolo Bonzini wrote:
> Queued, thanks.

The second patch looks incomplete to me.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

* Re: [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img
  2023-05-26 10:35   ` Daniel P. Berrangé
@ 2023-05-26 13:09     ` Fabiano Rosas
  0 siblings, 0 replies; 8+ messages in thread
From: Fabiano Rosas @ 2023-05-26 13:09 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Paolo Bonzini, Juan Quintela, Peter Xu, Leonardo Bras

Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, May 25, 2023 at 06:20:44PM -0300, Fabiano Rosas wrote:
>> We recently moved glib detection code to meson but the static libs
>> were left out. Add a specific dependency for stress.c which is linked
>> statically.
>> 
>> $ make V=1 tests/migration/initrd-stress.img
>> 
>> before:
>>  cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group
>>  /usr/lib64/libglib-2.0.so -Wl,--end-group
>>  ...
>>  bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so'
>> 
>> after:
>>  cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread
>>  -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group
>> 
>> Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson")
>> Signed-off-by: Fabiano Rosas <farosas@suse.de>
>> ---
>>  tests/migration/meson.build | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>> 
>> diff --git a/tests/migration/meson.build b/tests/migration/meson.build
>> index dd562355a1..ac71f13290 100644
>> --- a/tests/migration/meson.build
>> +++ b/tests/migration/meson.build
>> @@ -1,9 +1,11 @@
>>  sysprof = dependency('sysprof-capture-4', required: false)
>> +glib_static = dependency('glib-2.0', version: glib_req_ver, required: false,
>> +                         method: 'pkg-config', static: true)
>
> Since required: false, the result might be "not found", which means
> we'll still hit the linker error. I think we need to surround the
> 'executable()' bit in
>
>   if glib_static.found()
>      ...
>   endif
>   

Right, but this time it would be a helpful linker error that would tell
you what you are actually missing. Since this is "build_by_default:
false" I think we're better off letting the error through.


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

end of thread, other threads:[~2023-05-26 13:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-25 21:20 [PATCH 0/2] meson: Fix initrd-stress.img build Fabiano Rosas
2023-05-25 21:20 ` [PATCH 1/2] meson: Remove leftover comment Fabiano Rosas
2023-05-25 21:20 ` [PATCH 2/2] meson: Add static glib dependency for initrd-stress.img Fabiano Rosas
2023-05-26 10:32   ` Juan Quintela
2023-05-26 10:35   ` Daniel P. Berrangé
2023-05-26 13:09     ` Fabiano Rosas
2023-05-26  8:19 ` [PATCH 0/2] meson: Fix initrd-stress.img build Paolo Bonzini
2023-05-26 11:36   ` Daniel P. Berrangé

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).