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