[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+5PVA509z3_j7c3hZYSj0BzHH9UntrXPFAfiikCCf_eRyyTig@mail.gmail.com>
Date: Fri, 24 Apr 2015 08:40:02 -0400
From: Josh Boyer <jwboyer@...oraproject.org>
To: "Frank Ch. Eigler" <fche@...hat.com>
Cc: "Linux-Kernel@...r. Kernel. Org" <linux-kernel@...r.kernel.org>,
Josh Stone <jistone@...hat.com>,
Jakub Jelinek <jakub@...hat.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Markus Trippelsdorf <markus@...ppelsdorf.de>,
Michel Dänzer <michel@...nzer.net>
Subject: Re: [PATCH] Kbuild: Add an option to enable GCC VTA
On Thu, Apr 23, 2015 at 5:25 PM, Frank Ch. Eigler <fche@...hat.com> wrote:
> From: Josh Stone <jistone@...hat.com>
>
> Due to isolated gcc codegen issues, gcc -fvar-tracking-assignments
> was unconditionally disabled in commit 2062afb4f804 ("Fix gcc-4.9.0
> miscompilation of load_balance() in scheduler").
>
> However, this reduces the debuginfo coverage for variable locations,
> especially in inline functions. VTA is certainly not perfect either
> in those cases, but it is much better than without. With compiler
> versions that have fixed the codegen bugs, we would prefer to have the
> better details for SystemTap, and surely other debuginfo consumers
> like perf will benefit as well.
>
> This patch simply makes CONFIG_DEBUG_INFO_VTA an option. I considered
> Frank and Linus's discussion of a cc-option-like -fcompare-debug test,
> but I'm convinced that a narrow test of an arch-specific codegen issue
> is not really useful. GCC has their own regression tests for this, so
> I'd suggest GCC_COMPARE_DEBUG=-fvar-tracking-assignments-toggle is more
> useful for kernel developers to test confidence.
>
> In fact, I ran into a couple more issues when testing for this patch[1],
> although neither of those had any codegen impact.
> [1] https://bugzilla.redhat.com/show_bug.cgi?id=1140872
>
> With gcc-4.9.2-1.fc22, I can now build v3.18-rc5 with Fedora's i686 and
> x86_64 configs, and this is completely clean with GCC_COMPARE_DEBUG.
>
> Cc: Jakub Jelinek <jakub@...hat.com>
> Cc: Josh Boyer <jwboyer@...oraproject.org>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: Linus Torvalds <torvalds@...ux-foundation.org>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Markus Trippelsdorf <markus@...ppelsdorf.de>
> Cc: Michel Dänzer <michel@...nzer.net>
> Signed-off-by: Josh Stone <jistone@...hat.com>
> Signed-off-by: Frank Ch. Eigler <fche@...hat.com>
Frank, did you rebase this against some newer tree or something?
Curious why you sent it again.
> Makefile | 8 ++++++--
> lib/Kconfig.debug | 21 ++++++++++++++++++++-
> 2 files changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 6cc5b2434224..c8e1fcfdb41a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -704,8 +704,6 @@ KBUILD_CFLAGS += -fomit-frame-pointer
> endif
> endif
>
> -KBUILD_CFLAGS += $(call cc-option, -fno-var-tracking-assignments)
> -
> ifdef CONFIG_DEBUG_INFO
> ifdef CONFIG_DEBUG_INFO_SPLIT
> KBUILD_CFLAGS += $(call cc-option, -gsplit-dwarf, -g)
> @@ -718,6 +716,12 @@ ifdef CONFIG_DEBUG_INFO_DWARF4
> KBUILD_CFLAGS += $(call cc-option, -gdwarf-4,)
> endif
>
> +ifdef CONFIG_DEBUG_INFO_VTA
> +KBUILD_CFLAGS += $(call cc-option, -fvar-tracking-assignments)
> +else
> +KBUILD_CFLAGS += $(call cc-option, -fno-var-tracking-assignments)
> +endif
> +
Is there a reason you moved this hunk under the DWARF4 options instead
of modifying it in-place like the original patch did?
josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists