From nobody Sat Apr 11 23:04:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=yodel.dev ARC-Seal: i=1; a=rsa-sha256; t=1772485299; cv=none; d=zohomail.com; s=zohoarc; b=VVItnExNb1j5kQ3G8LE5qCT4VhBPURu5QtdNQGY7tFkRpeVm2Lvek27+i4rNx2zjh24w0vPx0bz7A6iZ09QegUn+F6xIAS2WLaw63SANEugrMPqJfnBiqeAyjgcKR6BVmSAE5tiVTtP9xBfCQZXtmueLRS79nogSQhQUpvR8rR4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772485299; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5b2GOo7D5YsOVp/zeDsoK9XyMTv24/gF4uDvBsmWlKQ=; b=jIHPc8MGNDwtIA5iokg3CQZPg1P/mFayhvcEZyYfHxGcmls7Rk6lUj+hFqmKu1iFBoc6yLvNeb1FkXm1zs4JTnq89B+gdznyDXr9ReLUQkHWgbaj5CjWiNfXLQQRHWnrb44C4xmAxlOqNW/VWmTtpDIPWrrZcKC2ffrzgaLjwJY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772485299743840.0391033152981; Mon, 2 Mar 2026 13:01:39 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxAO0-00054s-OT; Mon, 02 Mar 2026 16:01:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxANx-00054d-W6 for qemu-devel@nongnu.org; Mon, 02 Mar 2026 16:01:02 -0500 Received: from v512.v5f06b487.use4.send.mailgun.net ([143.55.232.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxANv-000881-I3 for qemu-devel@nongnu.org; Mon, 02 Mar 2026 16:01:01 -0500 Received: from mail.yodel.dev (mail.yodel.dev [35.209.39.246]) by e3eae5278e78a74b29245b337ebde5402886ef0f423f2da3f3b2bfa1c3b59332 with SMTP id 69a5fa7e6a074a243d6e71a0; Mon, 02 Mar 2026 21:00:46 GMT X-Mailgun-Sid: WyI4ZDFlNiIsInFlbXUtZGV2ZWxAbm9uZ251Lm9yZyIsIjk3NjA3ZSJd X-Mailgun-Sending-Ip: 143.55.232.12 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yodel.dev; s=rsa2048; t=1772485244; bh=5b2GOo7D5YsOVp/zeDsoK9XyMTv24/gF4uDvBsmWlKQ=; h=X-Mailgun-Dkim:From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From:Reply-to:Subject:Date:Message-id:To: Cc:Mime-version:Content-type:Content-transfer-encoding:In-reply-to: References; b=cpxW819PgOjXKRBfNUVgWev0c6hUhRH2GyjQTdjSs3P26IA5nGiC49Ql/u2atsU+r TSUL4jx69zc4Zh9mUhNSKaH2sx85AyejyAMTlM1wfyo4cE3wMc9rMoIW4ZB1XTjIVu vbPf9lWIp5VkEANKIULbZYCPgv0ahcjMb8HTTIroBAMeZS1lTSwE+u4ai74xNVg0uO lq9rFQ/9VZjpH8fUIXRuLtCJgvE97bKZKyiStaijmdAMqpeiQhhCW7Uz0AT93A31uJ 34bApBtZF4s1R/E4eWRET1i7AVMN6MYlBw7gQDSKMsiA+7hosWtDB2QTXKregAz1yh at/VPsrFrkzFA== X-Mailgun-Dkim: no X-Mailgun-Dkim: no From: "Yodel Eldar" To: qemu-devel@nongnu.org Cc: Paolo Bonzini , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Thomas Huth , Yodel Eldar , Peter Maydell Subject: [RFC PATCH] configure: Use clang for sanitizer builds or disable Werror Date: Mon, 2 Mar 2026 15:00:38 -0600 Message-ID: <20260302210039.261325-1-yodel.eldar@yodel.dev> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=143.55.232.12; envelope-from=bounce+0e9322.97607e-qemu-devel=nongnu.org@yodel.dev; helo=v512.v5f06b487.use4.send.mailgun.net X-Spam_score_int: -5 X-Spam_score: -0.6 X-Spam_bar: / X-Spam_report: (-0.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HELO_STATIC_HOST=-0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.968, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.495, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yodel.dev) X-ZM-MESSAGEID: 1772485301181158500 Content-Type: text/plain; charset="utf-8" From: Yodel Eldar Builds with --enable-{asan,tsan,stack-trace} fail under GCC, so use clang if available, otherwise disable the treatment of warnings as errors. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3006 Suggested-by: Peter Maydell Signed-off-by: Yodel Eldar --- I didn't see ubsan break builds with GCC, so I excluded it from the check, but maybe we want to preemptively include it, too? Please review. Link: https://lore.kernel.org/qemu-devel/CAFEAcA88hc4UsgpuPXBWpbeN0tW26159kPn7jx2= J9erBA5DLBw@mail.gmail.com/ Thanks, Yodel --- configure | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 5e114acea2..0b75b8bb93 100755 --- a/configure +++ b/configure @@ -762,6 +762,12 @@ for opt do ;; --wasm64-32bit-address-limit) ;; + --enable-asan) asan=3D"yes" + ;; + --enable-tsan) tsan=3D"yes" + ;; + --enable-safe-stack) safe_stack=3D"yes" + ;; # everything else has the same name in configure and meson --*) meson_option_parse "$opt" "$optarg" ;; @@ -771,6 +777,20 @@ for opt do esac done =20 +if test "$asan" =3D "yes" || test "$tsan" =3D "yes" || \ + test "$safe_stack" =3D "yes" +then + if has clang; then + echo "Sanitizer requested: setting compiler suite to clang" + cc=3Dclang + cxx=3Dclang++ + host_cc=3Dclang + else + echo "Sanitizer requested: disabling Werror for non-clang compiler= s" + force_disable_werror=3D"yes" + fi +fi + if ! test -e "$source_path/.git" then git_submodules_action=3D"validate" @@ -1890,7 +1910,8 @@ if test "$skip_meson" =3D no; then echo "# environment defaults, can still be overridden on " >> $cross echo "# the command line" >> $cross if test -e "$source_path/.git" && \ - { test "$host_os" =3D linux || test "$host_os" =3D "windows"; }; then + { test "$host_os" =3D linux || test "$host_os" =3D "windows"; } && \ + test "$force_disable_werror" !=3D "yes"; then echo 'werror =3D true' >> $cross fi echo "[project options]" >> $cross --=20 2.53.0