]> git.baikalelectronics.ru Git - kernel.git/commit
kbuild: Only add -fno-var-tracking-assignments for old GCC versions
authorMark Wielaard <mark@klomp.org>
Sat, 17 Oct 2020 12:01:35 +0000 (14:01 +0200)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 20 Oct 2020 15:28:53 +0000 (00:28 +0900)
commit0a6e052815f59944c56933afb732abee1caade34
tree3e7286b299e940dac4fec5f82ac210b88e9b227d
parentcdfbf0f667a9420dd769f322577186a4ef981329
kbuild: Only add -fno-var-tracking-assignments 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 728ff565765c ("Fix gcc-4.9.0 miscompilation of load_balance()
in scheduler") 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.

Signed-off-by: Mark Wielaard <mark@klomp.org>
Acked-by: Ian Rogers <irogers@google.com>
Reviewed-by: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile