Commit a992bf83 authored by Yuan Pengfei's avatar Yuan Pengfei Committed by Linus Torvalds

gcov: add support for GCC 4.9

This patch handles the gcov-related changes in GCC 4.9:

  A new counter (time profile) is added. The total number is 9 now.

  A new profile merge function __gcov_merge_time_profile is added.

See gcc/gcov-io.h and libgcc/libgcov-merge.c

For the first change, the layout of struct gcov_info is affected.

For the second one, a dummy function is added to kernel/gcov/base.c
similarly.
Signed-off-by: default avatarYuan Pengfei <coolypf@qq.com>
Acked-by: default avatarPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 79deb3c1
...@@ -85,6 +85,12 @@ void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters) ...@@ -85,6 +85,12 @@ void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters)
} }
EXPORT_SYMBOL(__gcov_merge_ior); EXPORT_SYMBOL(__gcov_merge_ior);
void __gcov_merge_time_profile(gcov_type *counters, unsigned int n_counters)
{
/* Unused. */
}
EXPORT_SYMBOL(__gcov_merge_time_profile);
/** /**
* gcov_enable_events - enable event reporting through gcov_event() * gcov_enable_events - enable event reporting through gcov_event()
* *
......
...@@ -18,7 +18,12 @@ ...@@ -18,7 +18,12 @@
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include "gcov.h" #include "gcov.h"
#if __GNUC__ == 4 && __GNUC_MINOR__ >= 9
#define GCOV_COUNTERS 9
#else
#define GCOV_COUNTERS 8 #define GCOV_COUNTERS 8
#endif
#define GCOV_TAG_FUNCTION_LENGTH 3 #define GCOV_TAG_FUNCTION_LENGTH 3
static struct gcov_info *gcov_info_head; static struct gcov_info *gcov_info_head;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment