diff --git a/Changes b/Changes index dc88b9f08..4ee3ff8b7 100644 --- a/Changes +++ b/Changes @@ -313,6 +313,11 @@ Working version - #9367: Make bytecode and native-code backtraces agree. (Stephen Dolan, review by Gabriel Scherer) +- #9428: Fix truncated exception backtrace for C->OCaml callbacks + on Power and Z System + (Xavier Leroy, review by Nicolás Ojeda Bär) + + OCaml 4.10 maintenance branch ----------------------------- diff --git a/runtime/power.S b/runtime/power.S index 69e01fa7c..1933a10ed 100644 --- a/runtime/power.S +++ b/runtime/power.S @@ -410,8 +410,6 @@ FUNCTION(caml_raise_exception) /* Branch to handler */ bctr .L121: - li 0, 0 - stg 0, Caml_state(backtrace_pos) mr 27, 3 /* preserve exn bucket in callee-save reg */ /* arg1: exception bucket, already in r3 */ lg 4, Caml_state(last_return_address) /* arg2: PC of raise */ diff --git a/runtime/s390x.S b/runtime/s390x.S index 0ae3f82ae..aab63e9b2 100644 --- a/runtime/s390x.S +++ b/runtime/s390x.S @@ -183,8 +183,6 @@ caml_raise_exception: /* Branch to handler */ br %r1; .L112: - lgfi %r0, 0 - stg %r0, Caml_state(backtrace_pos) ldgr %f15,%r2 /* preserve exn bucket in callee-save reg */ /* arg1: exception bucket, already in r2 */ lg %r3, Caml_state(last_return_address) /* arg2: PC of raise */