Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4661832pxu; Wed, 21 Oct 2020 01:56:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxnyUJxL18Yx+BVrxijnjc6dZqKbmZV9k1URCqKLnJ2ui9NAfJvTQ3dlUwFFOxpJR5GP2U/ X-Received: by 2002:aa7:dd11:: with SMTP id i17mr2025491edv.188.1603270571739; Wed, 21 Oct 2020 01:56:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603270571; cv=none; d=google.com; s=arc-20160816; b=d9igoo4aRuWR7mGOggMoM+kyd/pYCV6VK1/tNp6DtT2RRgR7qo0mQXCfdneCw12hiL bDPXQvb518T8Tk6RwZeSc5/7UZ9+2d9lG8MWJg3uuRgvpnbFQ+PyOuJz3cI1D6//Pmhq r7tFTUINDgL0sVc1VzKdHPp9imXKE+FzQuppDzdViQgMLd+wa825DftVvGThCIJOzRU6 5WUYBk4YiE2o3wpNEyURG0pRinqmJvAq7iH+fVOuaHD1hszR2MysWXYvg6FAqCE3SUMV smYuESVzl8PS6T50/t3Q509mgk8HC1WxE6NrUgQjfm7FjjD/GtRIDO6FtB/YHo2VlOFC c+Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature:dkim-filter; bh=fLFRzEvvNzfFsNVp4IIsqKfXSgcuY+m+zTzeT0OEPHc=; b=ubGEVoXqV8KJJQJU+J3dpzm6SMLsezuoxFEuKaXG9bC4YqMVFfmxP8nocrayVcshmY SbhOA++P4myas3LKw6JwxZurGDZlRirJG+2w4RK11pRphyMPZNv2zpPMVcs9KbnQgFuV MtoY+s40AN0o4P2/pP1T3Uz70HWrkrz+N1Xy8Hh1m8MCJamDn3/AIFpMcgmkdpXi+G4H b6LQE6HRYyOEuLBMWCCtv4kR86muzScYC9S1hOZUXwwnp58PLl9f2g7se0rmpk8Mp/cM fP9Qm9+vC75FC3zg6sNC5I7WpC9Ks6AK/hm+1tk0lB1dHJwr/lmY1WTXlZuyFMbWfGHx gZDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=pzCyoBVn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s5si859144ejj.492.2020.10.21.01.55.37; Wed, 21 Oct 2020 01:56:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=pzCyoBVn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731740AbgJTP2r (ORCPT + 99 others); Tue, 20 Oct 2020 11:28:47 -0400 Received: from conssluserg-04.nifty.com ([210.131.2.83]:52160 "EHLO conssluserg-04.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731618AbgJTP2q (ORCPT ); Tue, 20 Oct 2020 11:28:46 -0400 Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (authenticated) by conssluserg-04.nifty.com with ESMTP id 09KFSUwW006246; Wed, 21 Oct 2020 00:28:30 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-04.nifty.com 09KFSUwW006246 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1603207711; bh=fLFRzEvvNzfFsNVp4IIsqKfXSgcuY+m+zTzeT0OEPHc=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=pzCyoBVn02DG7/NlIu2Y7SoRNq6iGpFJIufs6FxVWD9sz0hgWqeK9BM66FNBVDurh Azk7xWTbIA+9YlHk6UI6O5g1DEWB5i4KhSsRYf7HhA/r26zNO2Pv291LEdlZJfsyBM +90XRWhSzARfHhCaQ9rHFHPeZ0QbFdYjtfrvd5djqPGis51zgaGi9RvBNUbJCnT7kv J4vC0sVX+6LKapQ4pG4ovQTgq0+dCZB5yMW+K1j3TF+90CULVPAKP4rYXgY2hHTzr1 dqbyo7h2P+M7bpsRhE/LeTVF943yazbz2kGccPIE5mkOhk2348c1+eHqWH5lI/ZKW7 dhBMjm8b9Fjiw== X-Nifty-SrcIP: [209.85.215.169] Received: by mail-pg1-f169.google.com with SMTP id b23so1297500pgb.3; Tue, 20 Oct 2020 08:28:30 -0700 (PDT) X-Gm-Message-State: AOAM531pgIzzfxcais/kbB852twjqXfCr5XVYvktCHoZD+kFmMNRm1NG vfxddVgSs4pk3MPitrvtqOV8SvoB4RvEaFBHXss= X-Received: by 2002:aa7:90cf:0:b029:156:2bff:5a87 with SMTP id k15-20020aa790cf0000b02901562bff5a87mr3233217pfk.63.1603207709884; Tue, 20 Oct 2020 08:28:29 -0700 (PDT) MIME-Version: 1.0 References: <20201014110132.2680-1-mark@klomp.org> <20201017120135.4004-1-mark@klomp.org> In-Reply-To: <20201017120135.4004-1-mark@klomp.org> From: Masahiro Yamada Date: Wed, 21 Oct 2020 00:27:52 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH V2] Only add -fno-var-tracking-assignments workaround for old GCC versions. To: Mark Wielaard Cc: Linux Kernel Mailing List , Michal Marek , Linux Kbuild mailing list , Ian Rogers , Andi Kleen , linux-toolchains@vger.kernel.org, Nick Desaulniers , Segher Boessenkool , Florian Weimer , Sedat Dilek Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Oct 17, 2020 at 9:02 PM Mark Wielaard wrote: > > Some old GCC versions between 4.5.0 and 4.9.1 might miscompile code > with -fvar-tracking-assingments (which is enabled by default with -g -O2). > commit 2062afb4f added -fno-var-tracking-assignments unconditionally to > work around this. But newer versions of GCC no longer have this bug, so > only add it for versions of GCC before 5.0. This allows various tools > such as a perf probe or gdb debuggers or systemtap to resolve variable > locations using dwarf locations in more code. > > Changes in V2: > - Update commit message explaining purpose. > - Explicitly mention GCC version in comment. > - Wrap workaround in ifdef CONFIG_CC_IS_GCC > > Signed-off-by: Mark Wielaard > Acked-by: Ian Rogers > Reviewed-by: Andi Kleen > Cc: linux-toolchains@vger.kernel.org > Cc: Nick Desaulniers > Cc: Segher Boessenkool > Cc: Florian Weimer > Cc: Sedat Dilek > --- Applied to linux-kbuild. Thanks. > Makefile | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 51540b291738..964754b4cedf 100644 > --- a/Makefile > +++ b/Makefile > @@ -813,7 +813,11 @@ KBUILD_CFLAGS += -ftrivial-auto-var-init=zero > KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang > endif > > -DEBUG_CFLAGS := $(call cc-option, -fno-var-tracking-assignments) > +# Workaround for GCC versions < 5.0 > +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 > +ifdef CONFIG_CC_IS_GCC > +DEBUG_CFLAGS := $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments)) > +endif > > ifdef CONFIG_DEBUG_INFO > ifdef CONFIG_DEBUG_INFO_SPLIT > -- > 2.18.4 > -- Best Regards Masahiro Yamada