diff options
Diffstat (limited to 'libgo/runtime/go-callers.c')
-rw-r--r-- | libgo/runtime/go-callers.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libgo/runtime/go-callers.c b/libgo/runtime/go-callers.c index 2d8fce73de4..3eea5f2cead 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); } |