linux-toolchains.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Stephane Eranian <eranian@google.com>,
	linux-toolchains@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>,
	"Phillips, Kim" <kim.phillips@amd.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Masami Hiramatsu <mhiramat@kernel.org>
Subject: Re: Additional debug info to aid cacheline analysis
Date: Sat, 10 Oct 2020 22:58:36 +0200	[thread overview]
Message-ID: <20201010205836.GA2666@wildebeest.org> (raw)
In-Reply-To: <20201008212259.gdhlwdswn5pu4zos@two.firstfloor.org>

[-- Attachment #1: Type: text/plain, Size: 674 bytes --]

On Thu, Oct 08, 2020 at 02:23:00PM -0700, Andi Kleen wrote:
> > Basically you simply want to remove this line in the top-level
> > Makefile:
> > 
> > DEBUG_CFLAGS    := $(call cc-option, -fno-var-tracking-assignments)
> 
> It looks like this was needed as a workaround for a gcc bug that was there
> from 4.5 to 4.9.
> 
> So I guess could disable it for 5.0+ only. 

Yes, that would work. I don't know what the lowest supported GCC
version is, but technically it was definitely fixed in 4.10.0, 4.8.4
and 4.9.2. And various distros would probably have backported the
fix. But checking for 5.0+ would certainly give you a good version.

How about the attached?

Cheers,

Mark

[-- Attachment #2: 0001-Only-add-fno-var-tracking-assignments-workaround-for.patch --]
[-- Type: text/x-diff, Size: 1283 bytes --]

From 48628d3cf2d829a90cd6622355eada1b30cb10c1 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sat, 10 Oct 2020 22:47:21 +0200
Subject: [PATCH] Only add -fno-var-tracking-assignments workaround for old GCC
 versions.

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
workaround this. But newer versions of GCC no longer have this bug, so
only add it for versions of GCC before 5.0.

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index f84d7e4ca0be..4f4a9416a87a 100644
--- a/Makefile
+++ b/Makefile
@@ -813,7 +813,9 @@ 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 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
+# for old versions of GCC.
+DEBUG_CFLAGS	:= $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
 
 ifdef CONFIG_DEBUG_INFO
 ifdef CONFIG_DEBUG_INFO_SPLIT
-- 
2.18.4


  reply	other threads:[~2020-10-10 23:07 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-06 13:17 Additional debug info to aid cacheline analysis Peter Zijlstra
2020-10-06 19:00 ` Arnaldo Carvalho de Melo
2020-10-08  5:58 ` Stephane Eranian
2020-10-08  7:02   ` Peter Zijlstra
2020-10-08  9:32     ` Mark Wielaard
2020-10-08 21:23       ` Andi Kleen
2020-10-10 20:58         ` Mark Wielaard [this message]
2020-10-10 21:51           ` Mark Wielaard
     [not found]             ` <20201010220712.5352-1-mark@klomp.org>
2020-10-10 22:21               ` [PATCH] Only add -fno-var-tracking-assignments workaround for old GCC versions Ian Rogers
2020-10-12 18:59                 ` Nick Desaulniers
2020-10-12 19:12                   ` Mark Wielaard
2020-10-14 15:31                     ` Sedat Dilek
2020-10-14 11:01                 ` Mark Wielaard
2020-10-14 15:17                   ` Andi Kleen
2020-10-17 12:01                   ` [PATCH V2] " Mark Wielaard
2020-10-19 19:30                     ` Nick Desaulniers
2020-10-20 15:27                     ` Masahiro Yamada
2020-10-10 22:33             ` [PATCH] " Mark Wielaard
2020-10-11 11:04           ` Additional debug info to aid cacheline analysis Segher Boessenkool
2020-10-11 12:15           ` Florian Weimer
2020-10-11 12:23             ` Mark Wielaard
2020-10-11 12:28               ` Florian Weimer
2020-10-30  5:26       ` Namhyung Kim
2020-10-30  9:16         ` Mark Wielaard
2020-10-30 10:10           ` Peter Zijlstra
2020-11-02  8:27             ` Masami Hiramatsu
2020-11-03  4:22               ` Namhyung Kim

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=20201010205836.GA2666@wildebeest.org \
    --to=mark@klomp.org \
    --cc=acme@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kim.phillips@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-toolchains@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mhiramat@kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).