If sigtramp and sigtrampgo are both on stack, n -= framesToDiscard
is executed twice, which should actually run only once.
Reviewed-on: https://go-review.googlesource.com/c/159238
From-SVN: r268366
-c2cac0ba0a92e74d5675c3c9f4e53d2567dbc903
+5af8ee0693944c280b1f529450dbfd4ec1ee451d
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
for i := 0; i < n; i++ {
if stklocs[i].function == "runtime.sigtrampgo" && i+2 < n {
framesToDiscard = i + 2
- n -= framesToDiscard
}
if stklocs[i].function == "runtime.sigtramp" && i+2 < n {
framesToDiscard = i + 2
- n -= framesToDiscard
break
}
}
+ n -= framesToDiscard
for i := 0; i < n; i++ {
stk[i] = stklocs[i+framesToDiscard].pc
}