aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2012-05-22 21:52:56 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2012-05-22 21:52:56 +0000
commit4579805199475b408ec9a837b0f27c9e1c9d0f6d (patch)
treeefb5461445eb92b4072ef9713ca5be99ae761e3e
parent19460426c33107c0c1d3e94517fdddd0ea3fcf2f (diff)
downloadgcc-4579805199475b408ec9a837b0f27c9e1c9d0f6d.zip
gcc-4579805199475b408ec9a837b0f27c9e1c9d0f6d.tar.gz
gcc-4579805199475b408ec9a837b0f27c9e1c9d0f6d.tar.bz2
runtime: Tweak runtime.Callers for Go 1 compatibility.
From-SVN: r187781
-rw-r--r--libgo/runtime/go-callers.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libgo/runtime/go-callers.c b/libgo/runtime/go-callers.c
index 2d8fce7..3eea5f2 100644
--- a/libgo/runtime/go-callers.c
+++ b/libgo/runtime/go-callers.c
@@ -72,5 +72,8 @@ int Callers (int, struct __go_open_array)
int
Callers (int skip, struct __go_open_array pc)
{
- return runtime_callers (skip, (uintptr *) pc.__values, pc.__count);
+ /* In the Go 1 release runtime.Callers has an off-by-one error,
+ which we can not correct because it would break backward
+ compatibility. Adjust SKIP here to be compatible. */
+ return runtime_callers (skip - 1, (uintptr *) pc.__values, pc.__count);
}