From: Shaun Ruffell <sruffell@digium.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Vince Weaver <vincent.weaver@maine.edu>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86/perf_events: build fix
Date: Thu, 27 Dec 2012 13:23:37 -0600 [thread overview]
Message-ID: <20121227192337.GB14257@digium.com> (raw)
In-Reply-To: <20121227192106.GA14257@digium.com>
[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
next prev parent reply other threads:[~2012-12-27 20:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-23 16:28 [PATCH] x86/perf_events: build fix Jan Beulich
[not found] ` <20121227192106.GA14257@digium.com>
2012-12-27 19:23 ` Shaun Ruffell [this message]
2013-01-09 17:22 ` [PATCH] x86/perf_events: Fix "section type conflict" build error Shaun Ruffell
2013-01-09 21:59 ` Shaun Ruffell
2013-01-20 19:45 ` Shaun Ruffell
-- strict thread matches above, loose matches on Subject: below --
2012-11-02 13:52 [PATCH] x86/perf_events: build fix Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121227192337.GB14257@digium.com \
--to=sruffell@digium.com \
--cc=JBeulich@suse.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=vincent.weaver@maine.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.