"struct regs" was set to argument of perf_arch_fetch_caller_regs.
"struct pt_regs" is correct.
Cc: Frederic Weisbecker <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: David Miller <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
---
include/linux/perf_event.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 9073bde..b65736d 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -934,7 +934,7 @@ extern void __perf_sw_event(u32, u64, int, struct
pt_regs *, u64);
#ifndef perf_arch_fetch_caller_regs
static inline void
-perf_arch_fetch_caller_regs(struct regs *regs, unsigned long ip) { }
+perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip) { }
#endif
/*
--
1.7.1
On Wed, Jun 23, 2010 at 09:17:53AM +0900, Nobuhiro Iwamatsu wrote:
> "struct regs" was set to argument of perf_arch_fetch_caller_regs.
> "struct pt_regs" is correct.
>
> Cc: Frederic Weisbecker <[email protected]>
> Cc: Paul Mackerras <[email protected]>
> Cc: David Miller <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
Acked-by: Frederic Weisbecker <[email protected]>
This may fix CONFIG_PERF_EVENTS=y with archs that don't implement
perf_arch_fetch_caller_regs, namely ARM, alpha, frv, parisc, s390 and sh.
Ingo, can you please queue this for .36? (it only fixes perf/core)
Thanks.
> ---
> include/linux/perf_event.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index 9073bde..b65736d 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -934,7 +934,7 @@ extern void __perf_sw_event(u32, u64, int, struct
> pt_regs *, u64);
>
> #ifndef perf_arch_fetch_caller_regs
> static inline void
> -perf_arch_fetch_caller_regs(struct regs *regs, unsigned long ip) { }
> +perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip) { }
> #endif
>
> /*
> --
> 1.7.1
On Wed, Jun 23, 2010 at 09:17:53AM +0900, Nobuhiro Iwamatsu wrote:
> "struct regs" was set to argument of perf_arch_fetch_caller_regs.
> "struct pt_regs" is correct.
>
> Cc: Frederic Weisbecker <[email protected]>
> Cc: Paul Mackerras <[email protected]>
> Cc: David Miller <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
Actually I'm queuing it, as I have other patches for perf in queue.
Thanks.
Commit-ID: 5cfaf214856eb934759ae500a0b812dd06a00bd9
Gitweb: http://git.kernel.org/tip/5cfaf214856eb934759ae500a0b812dd06a00bd9
Author: Nobuhiro Iwamatsu <[email protected]>
AuthorDate: Wed, 23 Jun 2010 09:17:53 +0900
Committer: Frederic Weisbecker <[email protected]>
CommitDate: Thu, 24 Jun 2010 23:34:58 +0200
perf: Fix argument of perf_arch_fetch_caller_regs
"struct regs" was set to argument of perf_arch_fetch_caller_regs
off-case. It should be "struct pt_regs".
This fixes various build errors in archs that have CONFIG_PERF_EVENTS=y
but no overriden implementation of perf_arch_fetch_caller_regs.
cc1: warnings being treated as errors
In file included from include/linux/ftrace_event.h:8,
from include/trace/syscall.h:6,
from include/linux/syscalls.h:75,
from arch/sh/kernel/sys_sh32.c:9:
include/linux/perf_event.h:937: error: 'struct regs' declared inside parameter list
include/linux/perf_event.h:937: error: its scope is only this definition or declaration, which is probably not what you want
include/linux/perf_event.h: In function 'perf_fetch_caller_regs':
include/linux/perf_event.h:952: error: passing argument 1 of 'perf_arch_fetch_caller_regs' from incompatible pointer type
Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
Reported-by: Stephen Rothwell <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: David Miller <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Frederic Weisbecker <[email protected]>
---
include/linux/perf_event.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 0dd5f8a..937495c 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -936,7 +936,7 @@ extern void __perf_sw_event(u32, u64, int, struct pt_regs *, u64);
#ifndef perf_arch_fetch_caller_regs
static inline void
-perf_arch_fetch_caller_regs(struct regs *regs, unsigned long ip) { }
+perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip) { }
#endif
/*