Commit 37135677 authored by Ingo Molnar's avatar Ingo Molnar Committed by Thomas Gleixner

ftrace: fix mcount export bug

David S. Miller noticed the following bug: the -pg instrumentation
function callback is named differently on each platform. On x86 it
is mcount, on sparc it is _mcount. So the export does not make sense
in kernel/trace/ftrace.c - move it to x86.
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent d05f5f99
#include <linux/ftrace.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/checksum.h> #include <asm/checksum.h>
#include <asm/desc.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/desc.h>
#ifdef CONFIG_FTRACE
/* mcount is defined in assembly */
EXPORT_SYMBOL(mcount);
#endif
/* Networking helper routines. */ /* Networking helper routines. */
EXPORT_SYMBOL(csum_partial_copy_generic); EXPORT_SYMBOL(csum_partial_copy_generic);
......
/* Exports for assembly files. /* Exports for assembly files.
All C exports should go in the respective C files. */ All C exports should go in the respective C files. */
#include <linux/ftrace.h>
#include <linux/module.h> #include <linux/module.h>
#include <net/checksum.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <net/checksum.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/desc.h> #include <asm/desc.h>
#ifdef CONFIG_FTRACE
/* mcount is defined in assembly */
EXPORT_SYMBOL(mcount);
#endif
EXPORT_SYMBOL(kernel_thread); EXPORT_SYMBOL(kernel_thread);
EXPORT_SYMBOL(__get_user_1); EXPORT_SYMBOL(__get_user_1);
......
...@@ -50,9 +50,6 @@ static struct ftrace_ops ftrace_list_end __read_mostly = ...@@ -50,9 +50,6 @@ static struct ftrace_ops ftrace_list_end __read_mostly =
static struct ftrace_ops *ftrace_list __read_mostly = &ftrace_list_end; static struct ftrace_ops *ftrace_list __read_mostly = &ftrace_list_end;
ftrace_func_t ftrace_trace_function __read_mostly = ftrace_stub; ftrace_func_t ftrace_trace_function __read_mostly = ftrace_stub;
/* mcount is defined per arch in assembly */
EXPORT_SYMBOL(mcount);
void ftrace_list_func(unsigned long ip, unsigned long parent_ip) void ftrace_list_func(unsigned long ip, unsigned long parent_ip)
{ {
struct ftrace_ops *op = ftrace_list; struct ftrace_ops *op = ftrace_list;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment