瀏覽代碼

ftrace: Mark function tracer test functions noinline/noclone

The ftrace function tracer self tests calls some functions to verify
the get traced. This relies on them not being inlined. Previously
this was ensured by putting them into another file, but with LTO
the compiler can inline across files, which makes the tests fail.

Mark these functions as noinline and noclone.

Link: http://lkml.kernel.org/r/20171221233732.31896-1-andi@firstfloor.org

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Andi Kleen 7 年之前
父節點
當前提交
dd3dad0d71
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      kernel/trace/trace_selftest_dynamic.c

+ 3 - 2
kernel/trace/trace_selftest_dynamic.c

@@ -1,13 +1,14 @@
 // SPDX-License-Identifier: GPL-2.0
 // SPDX-License-Identifier: GPL-2.0
+#include <linux/compiler.h>
 #include "trace.h"
 #include "trace.h"
 
 
-int DYN_FTRACE_TEST_NAME(void)
+noinline __noclone int DYN_FTRACE_TEST_NAME(void)
 {
 {
 	/* used to call mcount */
 	/* used to call mcount */
 	return 0;
 	return 0;
 }
 }
 
 
-int DYN_FTRACE_TEST_NAME2(void)
+noinline __noclone int DYN_FTRACE_TEST_NAME2(void)
 {
 {
 	/* used to call mcount */
 	/* used to call mcount */
 	return 0;
 	return 0;