From nobody Tue Oct 28 02:08:42 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516113589624779.4539273396148; Tue, 16 Jan 2018 06:39:49 -0800 (PST) Received: from localhost ([::1]:39339 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebSOy-0003gP-NH for importer@patchew.org; Tue, 16 Jan 2018 09:39:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50206) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebS3s-0002qQ-LO for qemu-devel@nongnu.org; Tue, 16 Jan 2018 09:18:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebS3o-0004Xf-8i for qemu-devel@nongnu.org; Tue, 16 Jan 2018 09:18:00 -0500 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:45361) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ebS3o-0004X8-1G for qemu-devel@nongnu.org; Tue, 16 Jan 2018 09:17:56 -0500 Received: by mail-wm0-x243.google.com with SMTP id i186so8655233wmi.4 for ; Tue, 16 Jan 2018 06:17:55 -0800 (PST) Received: from 640k.lan (dynamic-adsl-78-12-229-84.clienti.tiscali.it. [78.12.229.84]) by smtp.gmail.com with ESMTPSA id u10sm1537758wrg.6.2018.01.16.06.17.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Jan 2018 06:17:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6FxTiEZHAGfdxH4Ed9r2oPeSBGLUg5UIf0+kvgPpgG0=; b=Up622mShHUFXswS2d/n6jLmoX2j77t2kUyiPBYAlSDQePnGbsyp801DzLkb+rSvlRF M87mOHY3QpvytMIhWpW+F6+FqWMJ8zHL3mtPMmryNBA3MgmGlwccWY6JX8fghQHiau4g dZ8e7Sf7eXxdaRHk1B16qlqa0dR9kNIC7XZa91AMtPezzXmqXrVj8jT/ovSv1+pqKNeF UiqBPSJOqkcYB7QNCVO4VrweaVOawJOu9dlWgjvmDLDO1HOsQbyJXjpxTGCFqA6Qh+pZ QczQBUb7SIcAh//E5JWwxlmSAwx4ZMXhk7UvmQlujV6A3znDinnIj22FPZIasTxvq7t6 dM8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=6FxTiEZHAGfdxH4Ed9r2oPeSBGLUg5UIf0+kvgPpgG0=; b=OvlyXJ8KuzIUrwC2/PKoZ7WjPnUdx7ZjyS8L6zszpLdQ9gcvAz78o+parh1T74aY1A ncI7HDaz+e/+uWtTzyabfAPGonRd6+Acrg5stBE5pSJKRFnFGZoFXQOiqg18EQUVDIiv EfOYz83c07QukACKWi9XDKAZWLKyB/YYKCm7NQtLJkl5SQCF6F+nkr3uaNUr1pPSUTJv cArxN3ZZBr2KBjzyPKt2VnytD2MSMts1WS0NpmV3N6kjyXg5pFcm+QqbY+R0nW24zISh wmSEr8IJFMWKqV6cRQiRGRkL/yYW29RmCcDA/nPNV8qFMz+aYbxZDHvoVf2ST/mLe59d 16KQ== X-Gm-Message-State: AKwxytd6G3jmOq+9ysukOwVA+kWArwGXjOKGwsYaWugegzfsORTUawaH oZEc5dBDyiPnVGxhEKvVTQox6n8b X-Google-Smtp-Source: ACJfBouGjvXkR76M5lP5Oa6ePVWJQuAw8iPHSTHcHiZUAeqo4kiH0qF5r6ATbq9dkyCIoaq1Zmumnw== X-Received: by 10.28.69.66 with SMTP id s63mr13033536wma.47.1516112274678; Tue, 16 Jan 2018 06:17:54 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 15:16:54 +0100 Message-Id: <1516112253-14480-13-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1516112253-14480-1-git-send-email-pbonzini@redhat.com> References: <1516112253-14480-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 Subject: [Qemu-devel] [PULL 12/51] build-sys: compile with -Og or -O1 when --enable-debug X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 From: Marc-Andr=C3=A9 Lureau When --enable-debug is turned on, configure doesn't set -O level, and uses default compiler -O0 level, which is slow. Instead, use -Og if supported by the compiler (optimize debugging experience), or -O1 (keeps code somewhat debuggable and works around compiler bugs). Unfortunately, gcc has many false-positive maybe-uninitialized errors with Og and O1 (f27 gcc 7.2.1 20170915): /home/elmarco/src/qemu/hw/ipmi/isa_ipmi_kcs.c: In function =E2=80=98ipmi_kc= s_ioport_read=E2=80=99: /home/elmarco/src/qemu/hw/ipmi/isa_ipmi_kcs.c:279:12: error: =E2=80=98ret= =E2=80=99 may be used uninitialized in this function [-Werror=3Dmaybe-unini= tialized] return ret; ^~~ cc1: all warnings being treated as errors make: *** [/home/elmarco/src/qemu/rules.mak:66: hw/ipmi/isa_ipmi_kcs.o] Err= or 1 make: *** Waiting for unfinished jobs.... /home/elmarco/src/qemu/hw/ide/ahci.c: In function =E2=80=98ahci_populate_sg= list=E2=80=99: /home/elmarco/src/qemu/hw/ide/ahci.c:903:58: error: =E2=80=98tbl_entry_size= =E2=80=99 may be used uninitialized in this function [-Werror=3Dmaybe-unini= tialized] if ((off_idx =3D=3D -1) || (off_pos < 0) || (off_pos > tbl_entry_s= ize)) { ~~~~~~~~~^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [/home/elmarco/src/qemu/rules.mak:66: hw/ide/ahci.o] Error 1 /home/elmarco/src/qemu/hw/display/qxl.c: In function =E2=80=98qxl_add_memsl= ot=E2=80=99: /home/elmarco/src/qemu/hw/display/qxl.c:1397:52: error: =E2=80=98pci_start= =E2=80=99 may be used uninitialized in this function [-Werror=3Dmaybe-unini= tialized] memslot.virt_end =3D virt_start + (guest_end - pci_start); ~~~~~~~~~~~~~^~~~~~~~~~~~ /home/elmarco/src/qemu/hw/display/qxl.c:1389:9: error: =E2=80=98pci_region= =E2=80=99 may be used uninitialized in this function [-Werror=3Dmaybe-unini= tialized] qxl_set_guest_bug(d, "%s: pci_region =3D %d", __func__, pci_region= ); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors There seems to be a long list of related bugs in upstream GCC, some of them are being fixed very recently: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D24639 For now, let's workaround it by using Wno-maybe-uninitialized (gcc-only). Suggested-by: Paolo Bonzini Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20180104160523.22995-5-marcandre.lureau@redhat.com> Tested-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Paolo Bonzini --- configure | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/configure b/configure index ac392d2..6f1b7cd 100755 --- a/configure +++ b/configure @@ -5194,8 +5194,19 @@ if test "$gcov" =3D "yes" ; then LDFLAGS=3D"-fprofile-arcs -ftest-coverage $LDFLAGS" elif test "$fortify_source" =3D "yes" ; then CFLAGS=3D"-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3D2 $CFLAGS" -elif test "$debug" =3D "no"; then - CFLAGS=3D"-O2 $CFLAGS" +elif test "$debug" =3D "yes"; then + if compile_prog "-Og" ""; then + CFLAGS=3D"-Og $CFLAGS" + elif compile_prog "-O1" ""; then + CFLAGS=3D"-O1 $CFLAGS" + fi + # Workaround GCC false-positive Wuninitialized bugs with Og or O1: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D24639 + if cc_has_warning_flag "-Wno-maybe-uninitialized"; then + CFLAGS=3D"-Wno-maybe-uninitialized $CFLAGS" + fi +else + CFLAGS=3D"-O2 $CFLAGS" fi =20 ########################################## --=20 1.8.3.1