[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>
Cr-Mirrored-From: https://chromium.googlesource.com/breakpad/breakpad
Cr-Mirrored-Commit: 796a6c9baf85bf3ee15bba8fdbf0c5355a609597
diff --git a/processor/stackwalker_mips.cc b/processor/stackwalker_mips.cc
index a3df84c..9a81b46 100644
--- a/processor/stackwalker_mips.cc
+++ b/processor/stackwalker_mips.cc
@@ -280,7 +280,7 @@
   // If the new stack pointer is at a lower address than the old, then
   // that's clearly incorrect. Treat this as end-of-stack to enforce
   // progress and avoid infinite loops.
-  if (new_frame->context.iregs[MD_CONTEXT_MIPS_REG_SP] <=
+  if (new_frame->context.iregs[MD_CONTEXT_MIPS_REG_SP] <
       last_frame->context.iregs[MD_CONTEXT_MIPS_REG_SP]) {
     return NULL;
   }
diff --git a/processor/stackwalker_mips64_unittest.cc b/processor/stackwalker_mips64_unittest.cc
index 531f546..2a9784b 100644
--- a/processor/stackwalker_mips64_unittest.cc
+++ b/processor/stackwalker_mips64_unittest.cc
@@ -533,9 +533,6 @@
 
                      // 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"
 
diff --git a/processor/stackwalker_mips_unittest.cc b/processor/stackwalker_mips_unittest.cc
index 5398c2b..a172f17 100644
--- a/processor/stackwalker_mips_unittest.cc
+++ b/processor/stackwalker_mips_unittest.cc
@@ -525,9 +525,6 @@
 
                      // 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"