From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4A87C4363A for ; Tue, 20 Oct 2020 15:40:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 44CB922249 for ; Tue, 20 Oct 2020 15:40:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603208406; bh=RCZPQKtSkstx4L5KJj8KGGGU/piwetnyAP0wrV1OGo4=; h=References:In-Reply-To:From:Date:Subject:To:Cc:List-ID:From; b=xBWVt/bINkGXbUeE/TSngUv8Q+6BnZyjWZgkAKxiHMSmf+S5CW2Db/+gScD/Xx3aT CylHcQQ2Tq4sn35bEuhSID8MVUQndQB99KT0ZY12FgflD2GhHPaxyorNwW1cxpS4nO Zch3jVPrgADu/vwcZqCn+97ItPWcvjJw8YNATWks= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436669AbgJTPkF (ORCPT ); Tue, 20 Oct 2020 11:40:05 -0400 Received: from condef-06.nifty.com ([202.248.20.71]:30701 "EHLO condef-06.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2436657AbgJTPkF (ORCPT ); Tue, 20 Oct 2020 11:40:05 -0400 X-Greylist: delayed 389 seconds by postgrey-1.27 at vger.kernel.org; Tue, 20 Oct 2020 11:40:03 EDT Received: from conssluserg-04.nifty.com ([10.126.8.83])by condef-06.nifty.com with ESMTP id 09KFSlFQ031604 for ; Wed, 21 Oct 2020 00:28:47 +0900 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-Google-Smtp-Source: ABdhPJwv00rwCOxn6r3kEx5Nwh11Wij9Tdiv85e+WfZh6WfKUKKNqrY8psass3JjliDhHTNcnc5iXw64s1fBklyCJOo= 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-toolchains@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