# echo function >/sys/kernel/debug/tracing/current_tracer It hangs forever with today's linux-next on powerpc. Reverted the conflict fix [1] as below fixes the issue.
[1] https://lore.kernel.org/linux-next/20191115135357.10386...@canb.auug.org.au/ diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm- generic/vmlinux.lds.h index 7d0d03a03d4d..a92222f79b53 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -136,29 +136,20 @@ #endif #ifdef CONFIG_FTRACE_MCOUNT_RECORD -/* - * The ftrace call sites are logged to a section whose name depends on the - * compiler option used. A given kernel image will only use one, AKA - * FTRACE_CALLSITE_SECTION. We capture all of them here to avoid header - * dependencies for FTRACE_CALLSITE_SECTION's definition. - */ -/* - * Need to also make ftrace_graph_stub point to ftrace_stub - * so that the same stub location may have different protocols - * and not mess up with C verifiers. - */ -#define MCOUNT_REC() . = ALIGN(8); \ +#ifdef CC_USING_PATCHABLE_FUNCTION_ENTRY +#define MCOUNT_REC() . = ALIGN(8) \ __start_mcount_loc = .; \ - KEEP(*(__mcount_loc)) \ KEEP(*(__patchable_function_entries)) \ __stop_mcount_loc = .; \ ftrace_graph_stub = ftrace_stub; #else -# ifdef CONFIG_FUNCTION_TRACER -# define MCOUNT_REC() ftrace_graph_stub = ftrace_stub; -# else -# define MCOUNT_REC() -# endif +#define MCOUNT_REC() . = ALIGN(8); \ + __start_mcount_loc = .; \ + KEEP(*(__mcount_loc)) \ + __stop_mcount_loc = .; +#endif +#else +#define MCOUNT_REC() #endif #ifdef CONFIG_TRACE_BRANCH_PROFILING