[MIPS]: Don't terminate stackwalk when $sp value doesn't change between frames

Currently on MIPS we accidentally terminate stackwalk if $sp value doesn't change between frames 
which results in incomplete callchain terminated at the point of first tailcall encountered.

Change-Id: I8f1ed1df958d8f0a9eb11fd7800062184d8f1ee2
Reviewed-on: https://chromium-review.googlesource.com/449755
Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
Dragan Mladjenovic 2017-03-06 08:54:45 +01:00 committed by Mark Mentovai
parent 7ec3caf6c7
commit 796a6c9baf
3 changed files with 1 additions and 7 deletions

View file

@ -525,9 +525,6 @@ struct CFIFixture: public StackwalkerMIPSFixture {
// The calling function.
"FUNC 5000 1000 0 epictetus\n"
// Initially, nothing has been pushed on the stack,
// and the return address is still in the $ra register.
"STACK CFI INIT 5000 1000 .cfa: $sp .ra: $ra\n"
// Mark it as end of stack.
"STACK CFI INIT 5000 8 .cfa: $sp 0 + .ra: $ra\n"