mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
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: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
d05f5f9906
commit
37135677e6
3 changed files with 17 additions and 6 deletions
|
@ -1,7 +1,14 @@
|
||||||
|
#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);
|
||||||
|
|
|
@ -1,15 +1,22 @@
|
||||||
/* 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 =
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue