linux-stable/kernel/gcov
Martin Liska 1ee61fc4f6 gcov: support GCC 12.1 and newer compilers
commit 977ef30a7d upstream.

Starting with GCC 12.1, the created .gcda format can't be read by gcov
tool.  There are 2 significant changes to the .gcda file format that
need to be supported:

a) [gcov: Use system IO buffering]
   (23eb66d1d46a34cb28c4acbdf8a1deb80a7c5a05) changed that all sizes in
   the format are in bytes and not in words (4B)

b) [gcov: make profile merging smarter]
   (72e0c742bd01f8e7e6dcca64042b9ad7e75979de) add a new checksum to the
   file header.

Tested with GCC 7.5, 10.4, 12.2 and the current master.

Link: https://lkml.kernel.org/r/624bda92-f307-30e9-9aaa-8cc678b2dfb2@suse.cz
Signed-off-by: Martin Liska <mliska@suse.cz>
Tested-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-26 12:22:57 +02:00
..
Kconfig gcov: Remove compiler version check 2021-12-02 17:25:21 +09:00
Makefile gcov: Remove old GCC 3.4 support 2020-04-16 12:28:35 +01:00
base.c gcov: combine common code 2021-05-07 00:26:32 -07:00
clang.c gcov: clang: drop support for clang-10 and older 2021-05-07 00:26:32 -07:00
fs.c gcov: use kvmalloc() 2021-05-07 00:26:32 -07:00
gcc_4_7.c gcov: support GCC 12.1 and newer compilers 2022-10-26 12:22:57 +02:00
gcc_base.c gcov: clang: move common GCC code into gcc_base.c 2019-05-14 19:52:51 -07:00
gcov.h gcov: combine common code 2021-05-07 00:26:32 -07:00