diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2010-10-14 16:46:22 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2010-10-15 15:39:25 -0400 |
commit | c569cac8b69397d8bc80f95bc6edf13ed902e28b (patch) | |
tree | 9a51659777f876f401189fe17d35c69430a91797 /arch/tile | |
parent | 29507663dfa2590647a1ef66f3652a0cac033eca (diff) |
arch/tile: support new info op generated by compiler
This just syncs the backtracing support in the kernel to the
upstream backtrace library.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile')
-rw-r--r-- | arch/tile/include/asm/backtrace.h | 5 | ||||
-rw-r--r-- | arch/tile/kernel/backtrace.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/tile/include/asm/backtrace.h b/arch/tile/include/asm/backtrace.h index 758ca4619d50..f18887d82399 100644 --- a/arch/tile/include/asm/backtrace.h +++ b/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/arch/tile/kernel/backtrace.c b/arch/tile/kernel/backtrace.c index d3c41c1ff6bd..55a6a74974b4 100644 --- a/arch/tile/kernel/backtrace.c +++ b/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. |