-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tracing/syscalls: use a dedicated file header
Impact: fix build warnings and possibe compat misbehavior on IA64 Building a kernel on ia64 might trigger these ugly build warnings: CC arch/ia64/ia32/sys_ia32.o In file included from arch/ia64/ia32/sys_ia32.c:55: arch/ia64/ia32/ia32priv.h:290:1: warning: "elf_check_arch" redefined In file included from include/linux/elf.h:7, from include/linux/module.h:14, from include/linux/ftrace.h:8, from include/linux/syscalls.h:68, from arch/ia64/ia32/sys_ia32.c:18: arch/ia64/include/asm/elf.h:19:1: warning: this is the location of the previous definition [...] sys_ia32.c includes linux/syscalls.h which in turn includes linux/ftrace.h to import the syscalls tracing prototypes. But including ftrace.h can pull too much things for a low level file, especially on ia64 where the ia32 private headers conflict with higher level headers. Now we isolate the syscall tracing headers in their own lightweight file. Reported-by: Tony Luck <tony.luck@intel.com> Tested-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Jason Baron <jbaron@redhat.com> Cc: "Frank Ch. Eigler" <fche@redhat.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Lai Jiangshan <laijs@cn.fujitsu.com> Cc: Jiaying Zhang <jiayingz@google.com> Cc: Michael Rubin <mrubin@google.com> Cc: Martin Bligh <mbligh@google.com> Cc: Michael Davidson <md@google.com> LKML-Reference: <20090408184058.GB6017@nowhere> Signed-off-by: Ingo Molnar <mingo@elte.hu>
- Loading branch information
Frederic Weisbecker
authored and
Ingo Molnar
committed
Apr 9, 2009
1 parent
f876d34
commit 47788c5
Showing
6 changed files
with
41 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#ifndef _TRACE_SYSCALL_H | ||
#define _TRACE_SYSCALL_H | ||
|
||
#include <asm/ptrace.h> | ||
|
||
/* | ||
* A syscall entry in the ftrace syscalls array. | ||
* | ||
* @name: name of the syscall | ||
* @nb_args: number of parameters it takes | ||
* @types: list of types as strings | ||
* @args: list of args as strings (args[i] matches types[i]) | ||
*/ | ||
struct syscall_metadata { | ||
const char *name; | ||
int nb_args; | ||
const char **types; | ||
const char **args; | ||
}; | ||
|
||
#ifdef CONFIG_FTRACE_SYSCALLS | ||
extern void arch_init_ftrace_syscalls(void); | ||
extern struct syscall_metadata *syscall_nr_to_meta(int nr); | ||
extern void start_ftrace_syscalls(void); | ||
extern void stop_ftrace_syscalls(void); | ||
extern void ftrace_syscall_enter(struct pt_regs *regs); | ||
extern void ftrace_syscall_exit(struct pt_regs *regs); | ||
#else | ||
static inline void start_ftrace_syscalls(void) { } | ||
static inline void stop_ftrace_syscalls(void) { } | ||
static inline void ftrace_syscall_enter(struct pt_regs *regs) { } | ||
static inline void ftrace_syscall_exit(struct pt_regs *regs) { } | ||
#endif | ||
|
||
#endif /* _TRACE_SYSCALL_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters