From: "Alex Bennée" <alex.bennee@linaro.org>
To: Pierrick Bouvier <pierrick.bouvier@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 21:14:35 +0000 [thread overview]
Message-ID: <87ldt7gvr8.fsf@draig.linaro.org> (raw)
In-Reply-To: <44fc2b85-ab20-401a-9c71-54240bb1e503@linaro.org> (Pierrick Bouvier's message of "Fri, 14 Mar 2025 12:12:08 -0700")
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.
>
> [1] https://github.com/msys2/MINGW-packages/issues/23577
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2025-03-14 21:15 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 [this message]
2025-03-14 21:34 ` Richard Henderson
2025-03-14 21:53 ` Pierrick Bouvier
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=87ldt7gvr8.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=kkostiuk@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pierrick.bouvier@linaro.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.