Re: powerpc ftrace broken due to "manual merge of the ftrace tree with the arm64 tree"

From: Steven Rostedt
Date: Mon Nov 18 2019 - 09:51:08 EST


On Fri, 15 Nov 2019 16:06:34 -0500
Qian Cai <cai@xxxxxx> wrote:

> > Test this commit please: b83b43ffc6e4b514ca034a0fbdee01322e2f7022
>
> # git reset --hard b83b43ffc6e4b514ca034a0fbdee01322e2f7022
>
> Yes, that one is bad.

Can you see if this patch fixes the issue for you?

Thanks!

-- Steve

diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 0f358be551cd..fd8f4dc661dc 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -109,6 +109,13 @@
#define MEM_DISCARD(sec) *(.mem##sec)
#endif

+/* PowerPC defines ftrace_graph_stub in the code */
+#ifndef CONFIG_PPC
+# define DEFINE_FTRACE_GRAPH_STUB ftrace_graph_stub = ftrace_stub;
+#else
+# define DEFINE_FTRACE_GRAPH_STUB
+#endif
+
#ifdef CONFIG_FTRACE_MCOUNT_RECORD
#ifdef CC_USING_PATCHABLE_FUNCTION_ENTRY
/*
@@ -120,17 +127,17 @@
__start_mcount_loc = .; \
KEEP(*(__patchable_function_entries)) \
__stop_mcount_loc = .; \
- ftrace_graph_stub = ftrace_stub;
+ DEFINE_FTRACE_GRAPH_STUB
#else
#define MCOUNT_REC() . = ALIGN(8); \
__start_mcount_loc = .; \
KEEP(*(__mcount_loc)) \
__stop_mcount_loc = .; \
- ftrace_graph_stub = ftrace_stub;
+ DEFINE_FTRACE_GRAPH_STUB
#endif
#else
# ifdef CONFIG_FUNCTION_TRACER
-# define MCOUNT_REC() ftrace_graph_stub = ftrace_stub;
+# define MCOUNT_REC() DEFINE_FTRACE_GRAPH_STUB
# else
# define MCOUNT_REC()
# endif