From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37884) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCZgN-0000rD-IX for qemu-devel@nongnu.org; Mon, 13 Jun 2016 17:46:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bCZgG-0002DG-KW for qemu-devel@nongnu.org; Mon, 13 Jun 2016 17:46:06 -0400 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:35581) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCZgG-0002DC-GC for qemu-devel@nongnu.org; Mon, 13 Jun 2016 17:46:00 -0400 Received: by mail-qk0-x243.google.com with SMTP id b136so4532098qkg.2 for ; Mon, 13 Jun 2016 14:46:00 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Mon, 13 Jun 2016 14:45:21 -0700 Message-Id: <1465854326-19160-2-git-send-email-rth@twiddle.net> In-Reply-To: <1465854326-19160-1-git-send-email-rth@twiddle.net> References: <1465854326-19160-1-git-send-email-rth@twiddle.net> Subject: [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: qemu-devel@nongnu.org Cc: riku.voipio@iki.fi, peter.maydell@linaro.org Do what the comment says, test for signal_pending non-zero, rather than the current coe which tests for bit 0 non-zero. 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