From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O8z8L-0007dD-8L for qemu-devel@nongnu.org; Mon, 03 May 2010 13:08:41 -0400 Received: from [140.186.70.92] (port=59044 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O8z8K-0007d0-51 for qemu-devel@nongnu.org; Mon, 03 May 2010 13:08:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O8z8J-0000FD-95 for qemu-devel@nongnu.org; Mon, 03 May 2010 13:08:39 -0400 Received: from mail-qy0-f188.google.com ([209.85.221.188]:62982) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O8z8J-0000Bh-6c for qemu-devel@nongnu.org; Mon, 03 May 2010 13:08:39 -0400 Received: by mail-qy0-f188.google.com with SMTP id 26so4137992qyk.19 for ; Mon, 03 May 2010 10:08:39 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Mon, 3 May 2010 10:07:50 -0700 Message-Id: <1272906475-14480-3-git-send-email-rth@twiddle.net> In-Reply-To: <1272906475-14480-2-git-send-email-rth@twiddle.net> References: <1272906475-14480-1-git-send-email-rth@twiddle.net> <1272906475-14480-2-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH 2/7] alpha-linux-user: Fix siginfo.si_addr for SIGSEGV and SIGBUS. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Signed-off-by: Richard Henderson --- linux-user/main.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/main.c b/linux-user/main.c index 18b52c0..e35c124 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -2434,7 +2434,7 @@ void cpu_loop (CPUState *env) info.si_signo = TARGET_SIGSEGV; info.si_errno = 0; info.si_code = 0; /* ??? SEGV_MAPERR vs SEGV_ACCERR. */ - info._sifields._sigfault._addr = env->pc; + info._sifields._sigfault._addr = env->ipr[IPR_EXC_ADDR]; queue_signal(env, info.si_signo, &info); break; case EXCP_DTB_MISS_PAL: @@ -2458,7 +2458,7 @@ void cpu_loop (CPUState *env) info.si_signo = TARGET_SIGBUS; info.si_errno = 0; info.si_code = TARGET_BUS_ADRALN; - info._sifields._sigfault._addr = env->pc; + info._sifields._sigfault._addr = env->ipr[IPR_EXC_ADDR]; queue_signal(env, info.si_signo, &info); break; case EXCP_OPCDEC: -- 1.6.6.1