2012-08-28 22:05:06

by Irina Tirdea

[permalink] [raw]
Subject: [PATCH 10/13] perf tools: fix non-void function without return statement

thread_func in builtin-sched.c has an internal loop and
never returns. The only return from this thread are
BUG_ON calls in case return values are not 0.

The compiler on Android complains that the function
needs to return a non-void value. Adding the noreturn
function attribute to fix this error.

Error in Android:
target C: perf <= builtin-sched.c
hardware/intel/linu/tools/perf/builtin-sched.c: In function 'thread_func':
hardware/intel/linux/tools/perf/builtin-sched.c:476: error: no return
statement in function returning non-void

Signed-off-by: Irina Tirdea <[email protected]>
---
tools/perf/builtin-sched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index 3d3cab46..da293b8 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -439,7 +439,7 @@ static u64 get_cpu_usage_nsec_self(int fd)
return runtime;
}

-static void *thread_func(void *ctx)
+static __attribute__ ((noreturn)) void *thread_func(void *ctx)
{
struct task_desc *this_task = ctx;
u64 cpu_usage_0, cpu_usage_1;
--
1.7.9.5