Date: Tue, 06 Jul 2021 16:00:24 +0000 From: bugzilla-noreply@freebsd.org To: testing@FreeBSD.org Subject: [Bug 252867] ptrace_test:ptrace__PT_STEP_with_signal test failed Message-ID: <bug-252867-32464-AhqDgIKpS3@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-252867-32464@https.bugs.freebsd.org/bugzilla/> References: <bug-252867-32464@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252867 --- Comment #2 from Mark Johnston <markj@FreeBSD.org> --- The problem on arm64 is that we don't disable single-stepping before execut= ing a signal handler. I suspect the problem is the same on powerpc. This hack fixes the problem for me: diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 25f0a108311e..7d7f78760381 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -896,6 +896,8 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) tf->tf_elr =3D (register_t)catcher; tf->tf_sp =3D (register_t)fp; + tf->tf_spsr &=3D ~PSR_SS; + WRITE_SPECIALREG(mdscr_el1, READ_SPECIALREG(mdscr_el1) & ~DBG_MDSCR_SS); sysent =3D p->p_sysent; if (sysent->sv_sigcode_base !=3D 0) tf->tf_lr =3D (register_t)sysent->sv_sigcode_base; --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252867-32464-AhqDgIKpS3>