qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	qemu-devel@nongnu.org, berrange@redhat.com,
	Konstantin Kostiuk <kkostiuk@redhat.com>
Subject: Re: [PATCH] configure: disable split_debug on Windows and on non-git builds
Date: Fri, 14 Mar 2025 14:53:28 -0700	[thread overview]
Message-ID: <a7b53ff2-dbc5-4851-803c-24565f30cb05@linaro.org> (raw)
In-Reply-To: <87ldt7gvr8.fsf@draig.linaro.org>

On 3/14/25 14:14, Alex Bennée wrote:
> Pierrick Bouvier <pierrick.bouvier@linaro.org> writes:
> 
>> On 3/14/25 08:38, Paolo Bonzini wrote:
>>> -gsplit-dwarf is reported to produce broken binaries on Windows.
>>> The linker produces warnings but exits successfully:
>>> /usr/lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld:
>>> qga/qemu-ga.exe:/4: section below image base
>>> /usr/lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld:
>>> qga/qemu-ga.exe:/24: section below image base
>>> and as a result qemu-ga.exe fails to start.
>>> On top of this, also disable -gsplit-dwarf unless building from git.
>>> Similar to -Werror, split debug info is probably not the best choice
>>> for people that want to build for installing.
>>> (Random thoughts: there is a tension here between adding an option
>>> that is useful for QEMU developers, and messing things up for everyone
>>> else by doing something decidedly non-standard.  For example, distros
>>> are starting to create a fake git repository just so that they can
>>> use "git am" to apply patches; while some of them, for example Fedora,
>>> are wise, or paranoid, enough to pass --disable-XXX for everything and
>>> then turn back on what they want, it cannot be expected that everyone
>>> does this.  It may be safer to make --enable-split-debug default off
>>> for everybody and add it somewhere in docs/.  For now I am keeping it
>>> enabled but we could consider doing something different during the hard
>>> freeze period).
>>> Reported-by: Konstantin Kostiuk <kkostiuk@redhat.com>
>>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>> ---
>>>    configure         | 4 ++++
>>>    meson_options.txt | 2 +-
>>>    2 files changed, 5 insertions(+), 1 deletion(-)
>>> diff --git a/configure b/configure
>>> index 02f1dd2311f..9aece67ed08 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -1864,6 +1864,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 3432123fee2..f3546b9abc1 100644
>>> --- a/meson_options.txt
>>> +++ b/meson_options.txt
>>> @@ -362,7 +362,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')
>>
>> Unfortunate coincidence, this appears at the same time MSYS2 fixed
>> some issue triggering a segfault [1]. So I didn't investigate further
>> the current issue, thinking something else have been changed I don't
>> know where.
>>
>> Would be better to revert it completely indeed, creating another build
>> configuration is not worth the (cheap) disk storage saved.
> 
> Well we should disable debug info on the CI builds then. Nothing is free
> and our CI is pretty damned heavy and the builds all add up when debug
> info is on by default.
> 

If the problem is the storage between jobs or artifacts, maybe it's 
possibly to simply strip the binaries?

>>
>> [1] https://github.com/msys2/MINGW-packages/issues/23577
> 


      parent reply	other threads:[~2025-03-14 21:54 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-14 15:38 [PATCH] configure: disable split_debug on Windows and on non-git builds Paolo Bonzini
2025-03-14 16:44 ` Peter Maydell
2025-03-14 16:54   ` Daniel P. Berrangé
2025-03-14 17:02     ` Paolo Bonzini
2025-03-14 19:12 ` Pierrick Bouvier
2025-03-14 21:14   ` Alex Bennée
2025-03-14 21:34     ` Richard Henderson
2025-03-14 21:53     ` Pierrick Bouvier [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a7b53ff2-dbc5-4851-803c-24565f30cb05@linaro.org \
    --to=pierrick.bouvier@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=kkostiuk@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).