diff --git a/lib/libthr/arch/powerpc/powerpc/_umtx_op_err.S b/lib/libthr/arch/powerpc/powerpc/_umtx_op_err.S index a902a7360d7..a0491e80a34 100644 --- a/lib/libthr/arch/powerpc/powerpc/_umtx_op_err.S +++ b/lib/libthr/arch/powerpc/powerpc/_umtx_op_err.S @@ -35,6 +35,11 @@ ENTRY(_umtx_op_err) li %r0, SYS__umtx_op sc + /* If summary overflow is set, r3 already contains the error. */ + bsolr + /* Overwrite syscall aux return values. */ + li %r3, 0 + li %r4, 0 blr END(_umtx_op_err)