[PATCH] x86/perf_events: build fix

From: Jan Beulich
Date: Fri Nov 23 2012 - 11:27:26 EST


At least some older gcc versions dislike mixing constant and non-const
data in the same section ("... causes a section type confict"). Newer
gcc simply emits the section as writable (which isn't what we want, but
also is not a big problem as it gets discarded post-init anyway).

Also get the Knight's Corner definitions in sync.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

---
arch/x86/kernel/cpu/perf_event_knc.c | 4 ++--
arch/x86/kernel/cpu/perf_event_p6.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

--- 3.7-rc6/arch/x86/kernel/cpu/perf_event_knc.c
+++ 3.7-rc6-x86-perf-initconst/arch/x86/kernel/cpu/perf_event_knc.c
@@ -17,7 +17,7 @@ static const u64 knc_perfmon_event_map[]
[PERF_COUNT_HW_BRANCH_MISSES] = 0x002b,
};

-static __initconst u64 knc_hw_cache_event_ids
+static const u64 __initconst knc_hw_cache_event_ids
[PERF_COUNT_HW_CACHE_MAX]
[PERF_COUNT_HW_CACHE_OP_MAX]
[PERF_COUNT_HW_CACHE_RESULT_MAX] =
@@ -284,7 +284,7 @@ static struct attribute *intel_knc_forma
NULL,
};

-static __initconst struct x86_pmu knc_pmu = {
+static const struct x86_pmu knc_pmu __initconst = {
.name = "knc",
.handle_irq = knc_pmu_handle_irq,
.disable_all = knc_pmu_disable_all,
--- 3.7-rc6/arch/x86/kernel/cpu/perf_event_p6.c
+++ 3.7-rc6-x86-perf-initconst/arch/x86/kernel/cpu/perf_event_p6.c
@@ -19,7 +19,7 @@ static const u64 p6_perfmon_event_map[]

};

-static __initconst u64 p6_hw_cache_event_ids
+static const u64 __initconst p6_hw_cache_event_ids
[PERF_COUNT_HW_CACHE_MAX]
[PERF_COUNT_HW_CACHE_OP_MAX]
[PERF_COUNT_HW_CACHE_RESULT_MAX] =



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/