Messages in this thread Patch in this message | | | Date | Thu, 27 Dec 2012 13:23:37 -0600 | From | Shaun Ruffell <> | Subject | Re: [PATCH] x86/perf_events: build fix |
| |
[forgot to copy lkml]
Hi Jan,
On Fri, Nov 23, 2012 at 04:28:32PM +0000, Jan Beulich wrote: > 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@suse.com> > > --- > 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] = > > > > --
I was testing out 3.8-rc1 when I ran into the same problem resolved by this patch when building with gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51)
Were you given a reason why this shouldn't be needed?
It looks like the build error was introduced by (e09df47 "perf/x86: Update/fix generic events on P6 PMU") which is in v3.7 as well.
Thanks, Shaun
| |