diff options
Diffstat (limited to 'kernel/gcov/base.c')
-rw-r--r-- | kernel/gcov/base.c | 84 |
1 files changed, 2 insertions, 82 deletions
diff --git a/kernel/gcov/base.c b/kernel/gcov/base.c index 9c7c8d5c18f2..799d42072727 100644 --- a/kernel/gcov/base.c +++ b/kernel/gcov/base.c | |||
@@ -22,88 +22,8 @@ | |||
22 | #include <linux/sched.h> | 22 | #include <linux/sched.h> |
23 | #include "gcov.h" | 23 | #include "gcov.h" |
24 | 24 | ||
25 | static int gcov_events_enabled; | 25 | int gcov_events_enabled; |
26 | static DEFINE_MUTEX(gcov_lock); | 26 | DEFINE_MUTEX(gcov_lock); |
27 | |||
28 | /* | ||
29 | * __gcov_init is called by gcc-generated constructor code for each object | ||
30 | * file compiled with -fprofile-arcs. | ||
31 | */ | ||
32 | void __gcov_init(struct gcov_info *info) | ||
33 | { | ||
34 | static unsigned int gcov_version; | ||
35 | |||
36 | mutex_lock(&gcov_lock); | ||
37 | if (gcov_version == 0) { | ||
38 | gcov_version = gcov_info_version(info); | ||
39 | /* | ||
40 | * Printing gcc's version magic may prove useful for debugging | ||
41 | * incompatibility reports. | ||
42 | */ | ||
43 | pr_info("version magic: 0x%x\n", gcov_version); | ||
44 | } | ||
45 | /* | ||
46 | * Add new profiling data structure to list and inform event | ||
47 | * listener. | ||
48 | */ | ||
49 | gcov_info_link(info); | ||
50 | if (gcov_events_enabled) | ||
51 | gcov_event(GCOV_ADD, info); | ||
52 | mutex_unlock(&gcov_lock); | ||
53 | } | ||
54 | EXPORT_SYMBOL(__gcov_init); | ||
55 | |||
56 | /* | ||
57 | * These functions may be referenced by gcc-generated profiling code but serve | ||
58 | * no function for kernel profiling. | ||
59 | */ | ||
60 | void __gcov_flush(void) | ||
61 | { | ||
62 | /* Unused. */ | ||
63 | } | ||
64 | EXPORT_SYMBOL(__gcov_flush); | ||
65 | |||
66 | void __gcov_merge_add(gcov_type *counters, unsigned int n_counters) | ||
67 | { | ||
68 | /* Unused. */ | ||
69 | } | ||
70 | EXPORT_SYMBOL(__gcov_merge_add); | ||
71 | |||
72 | void __gcov_merge_single(gcov_type *counters, unsigned int n_counters) | ||
73 | { | ||
74 | /* Unused. */ | ||
75 | } | ||
76 | EXPORT_SYMBOL(__gcov_merge_single); | ||
77 | |||
78 | void __gcov_merge_delta(gcov_type *counters, unsigned int n_counters) | ||
79 | { | ||
80 | /* Unused. */ | ||
81 | } | ||
82 | EXPORT_SYMBOL(__gcov_merge_delta); | ||
83 | |||
84 | void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters) | ||
85 | { | ||
86 | /* Unused. */ | ||
87 | } | ||
88 | EXPORT_SYMBOL(__gcov_merge_ior); | ||
89 | |||
90 | void __gcov_merge_time_profile(gcov_type *counters, unsigned int n_counters) | ||
91 | { | ||
92 | /* Unused. */ | ||
93 | } | ||
94 | EXPORT_SYMBOL(__gcov_merge_time_profile); | ||
95 | |||
96 | void __gcov_merge_icall_topn(gcov_type *counters, unsigned int n_counters) | ||
97 | { | ||
98 | /* Unused. */ | ||
99 | } | ||
100 | EXPORT_SYMBOL(__gcov_merge_icall_topn); | ||
101 | |||
102 | void __gcov_exit(void) | ||
103 | { | ||
104 | /* Unused. */ | ||
105 | } | ||
106 | EXPORT_SYMBOL(__gcov_exit); | ||
107 | 27 | ||
108 | /** | 28 | /** |
109 | * gcov_enable_events - enable event reporting through gcov_event() | 29 | * gcov_enable_events - enable event reporting through gcov_event() |