diff --git a/[refs] b/[refs] index 9ec393e9398f..e34feb6ccc26 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 29507663dfa2590647a1ef66f3652a0cac033eca +refs/heads/master: c569cac8b69397d8bc80f95bc6edf13ed902e28b diff --git a/trunk/arch/tile/include/asm/backtrace.h b/trunk/arch/tile/include/asm/backtrace.h index 758ca4619d50..f18887d82399 100644 --- a/trunk/arch/tile/include/asm/backtrace.h +++ b/trunk/arch/tile/include/asm/backtrace.h @@ -146,7 +146,10 @@ enum { CALLER_SP_IN_R52_BASE = 4, - CALLER_SP_OFFSET_BASE = 8 + CALLER_SP_OFFSET_BASE = 8, + + /* Marks the entry point of certain functions. */ + ENTRY_POINT_INFO_OP = 16 }; diff --git a/trunk/arch/tile/kernel/backtrace.c b/trunk/arch/tile/kernel/backtrace.c index d3c41c1ff6bd..55a6a74974b4 100644 --- a/trunk/arch/tile/kernel/backtrace.c +++ b/trunk/arch/tile/kernel/backtrace.c @@ -369,6 +369,10 @@ static void find_caller_pc_and_caller_sp(CallerLocation *location, /* Weird; reserved value, ignore it. */ continue; } + if (info_operand & ENTRY_POINT_INFO_OP) { + /* This info op is ignored by the backtracer. */ + continue; + } /* Skip info ops which are not in the * "one_ago" mode we want right now.