summaryrefslogtreecommitdiffstats
path: root/kernel/gcov/base.c
diff options
context:
space:
mode:
authorFrantisek Hrbata <fhrbata@redhat.com>2013-11-12 15:11:26 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-13 12:09:34 +0900
commit5f41ea0386a53414d688cfcaa321a78310e5f7c1 (patch)
tree8f9d3b7020b5ee3b31445b993d16cad8f7736584 /kernel/gcov/base.c
parent8cbce376e3fdf4a21f59365aefbb52eac3c2e312 (diff)
downloadlinux-0-day-5f41ea0386a53414d688cfcaa321a78310e5f7c1.tar.gz
linux-0-day-5f41ea0386a53414d688cfcaa321a78310e5f7c1.tar.xz
gcov: add support for gcc 4.7 gcov format
The gcov in-memory format changed in gcc 4.7. The biggest change, which requires this special implementation, is that gcov_info no longer contains array of counters for each counter type for all functions and gcov_fn_info is not used for mapping of function's counters to these arrays(offset). Now each gcov_fn_info contans it's counters, which makes things a little bit easier. This is heavily based on the previous gcc_3_4.c implementation and patches provided by Peter Oberparleiter. Specially the buffer gcda implementation for iterator. [akpm@linux-foundation.org: use kmemdup() and kcalloc()] [oberpar@linux.vnet.ibm.com: gcc_4_7.c needs vmalloc.h] Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com> Cc: Jan Stancek <jstancek@redhat.com> Cc: Kees Cook <keescook@chromium.org> Reviewed-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Andy Gospodarek <agospoda@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/gcov/base.c')
-rw-r--r--kernel/gcov/base.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/gcov/base.c b/kernel/gcov/base.c
index 912576a671d89..f45b75b713c0e 100644
--- a/kernel/gcov/base.c
+++ b/kernel/gcov/base.c
@@ -79,6 +79,12 @@ void __gcov_merge_delta(gcov_type *counters, unsigned int n_counters)
}
EXPORT_SYMBOL(__gcov_merge_delta);
+void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters)
+{
+ /* Unused. */
+}
+EXPORT_SYMBOL(__gcov_merge_ior);
+
/**
* gcov_enable_events - enable event reporting through gcov_event()
*