On Fri, Mar 14, 2025 at 03:21:49PM +0100, Paolo Bonzini wrote:
> On 3/12/25 15:23, Daniel P. Berrangé wrote:
> > > > My question is, is this expected behavior or is this a bug?
> > > 
> > > Your configure args don't include "--enable-debug", so I would
> > > not have expected -gsplit-dwarf to have been enabled, so I'm
> > > surprised that commit casued a problem.
> > 
> > Hmm it appears that the meson  "get_option('debug')" is entirely
> > unconnected to QEMU's --enable-debug configure flag, which I did
> > not realize.
> 
> Indeed get_option('debug') is connected to --enable-debug-info (which is
> default-enabled).
> 
> > IOW, we've got -gsplit-dwarf enabled by default for everyone
> > building QEMU, which feels dubious. IMHO only an explicit
> > --enable-debug configure arg should have triggered it.
> 
> I didn't realize that you meant to attach it to --enable-debug.  The
> reason why meson.build checks get_option('debug') is simply because
> -gsplit-dwarf implies turning on debug info.
> 
> Maybe it could use something like
> 
> diff --git a/configure b/configure
> index 5d19d0036a1..18fd82a187e 100755
> --- a/configure
> +++ b/configure
> @@ -1873,6 +1873,10 @@ if test "$skip_meson" = no; then
>        { test "$host_os" = linux || test "$host_os" = "windows"; }; then
>        echo 'werror = true' >> $cross
>    fi
> +  if test -e "$source_path/.git" && test "$host_os" != "windows"; then
> +      echo 'split_debug = true' >> $cross
> +  fi
> +
>    echo "[project options]" >> $cross
>    if test "$SMBD" != ''; then
>      echo "smbd = $(meson_quote "$SMBD")" >> $cross
> diff --git a/meson_options.txt b/meson_options.txt
> index 809d0b42ef7..751dc39d22f 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -360,7 +360,7 @@ option('debug_mutex', type: 'boolean', value: false,
>         description: 'mutex debugging support')
>  option('debug_stack_usage', type: 'boolean', value: false,
>         description: 'measure coroutine stack usage')
> -option('split_debug', type: 'boolean', value: true,
> +option('split_debug', type: 'boolean', value: false,
>         description: 'split debug info from object files')
>  option('qom_cast_debug', type: 'boolean', value: true,
>         description: 'cast debugging support')
> 
> similar to --enable-werror... by the way I'm not sure if checking
> for .git still works - I think recent RPM creates a fake git repo
> to be able to run "git am", does it get rid of the .git directory
> before starting the build?

The .git dir will always exist in the RPM build, but generally we pass
--disable-XXX for everything and then turn back on what we want.



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 :|


Reply via email to