From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56935) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFRKF-0002LR-If for qemu-devel@nongnu.org; Tue, 21 Jun 2016 15:27:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFRK9-0005hR-Lf for qemu-devel@nongnu.org; Tue, 21 Jun 2016 15:27:06 -0400 Received: from jessie.kos.to ([212.47.231.226]:41188 helo=pilvi.kos.to) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFRK9-0005hI-Ea for qemu-devel@nongnu.org; Tue, 21 Jun 2016 15:27:01 -0400 Date: Tue, 21 Jun 2016 22:26:57 +0300 From: Riku Voipio Message-ID: <20160621192657.GC21172@beaming.home> References: <1465854326-19160-1-git-send-email-rth@twiddle.net> <1465854326-19160-2-git-send-email-rth@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1465854326-19160-2-git-send-email-rth@twiddle.net> Subject: Re: [Qemu-devel] [PATCH 1/6] linux-user: fix x86_64 safe_syscall List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org, peter.maydell@linaro.org On Mon, Jun 13, 2016 at 02:45:21PM -0700, Richard Henderson wrote: > Do what the comment says, test for signal_pending non-zero, > rather than the current coe which tests for bit 0 non-zero. Applied to linux-user with the type fixed, Thanks > Signed-off-by: Richard Henderson > --- > linux-user/host/x86_64/safe-syscall.inc.S | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/linux-user/host/x86_64/safe-syscall.inc.S b/linux-user/host/x86_64/safe-syscall.inc.S > index e09368d..f36992d 100644 > --- a/linux-user/host/x86_64/safe-syscall.inc.S > +++ b/linux-user/host/x86_64/safe-syscall.inc.S > @@ -67,8 +67,8 @@ safe_syscall_base: > */ > safe_syscall_start: > /* if signal_pending is non-zero, don't do the call */ > - testl $1, (%rbp) > - jnz return_ERESTARTSYS > + cmpl $0, (%rbp) > + jnz 1f > syscall > safe_syscall_end: > /* code path for having successfully executed the syscall */ > @@ -78,7 +78,7 @@ safe_syscall_end: > .cfi_restore rbp > ret > > -return_ERESTARTSYS: > +1: > /* code path when we didn't execute the syscall */ > .cfi_restore_state > mov $-TARGET_ERESTARTSYS, %rax > -- > 2.5.5 >