Messages in this thread Patch in this message | | | Date | Sat, 10 Oct 2020 22:58:36 +0200 | From | Mark Wielaard <> | Subject | Re: Additional debug info to aid cacheline analysis |
| |
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,
MarkFrom 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
| |