vkernel/vkernel64: fix a bug in cpu_regs.c
authorMarkus Pfeiffer <markus.pfeiffer@morphism.de>
Sat, 16 Jun 2012 10:52:43 +0000 (10:52 +0000)
committerMarkus Pfeiffer <markus.pfeiffer@morphism.de>
Sat, 16 Jun 2012 10:53:54 +0000 (10:53 +0000)
the sendsig function incorrectlty delivered tf_err in the
si_addr field of siginfo leading to weird behaviour.

sys/platform/vkernel/i386/cpu_regs.c
sys/platform/vkernel64/x86_64/cpu_regs.c

index b700d40..f93b8f5 100644 (file)
@@ -262,7 +262,7 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
                /* fill siginfo structure */
                sf.sf_si.si_signo = sig;
                sf.sf_si.si_code = code;
-               sf.sf_si.si_addr = (void*)regs->tf_err;
+               sf.sf_si.si_addr = (void*)regs->tf_addr;
        }
        else {
                /* Old FreeBSD-style arguments. */
index d077eb7..69f84b8 100644 (file)
@@ -277,7 +277,7 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
                /* fill siginfo structure */
                sf.sf_si.si_signo = sig;
                sf.sf_si.si_code = code;
-               sf.sf_si.si_addr = (void *)regs->tf_err;
+               sf.sf_si.si_addr = (void *)regs->tf_addr;
        } else {
                /*
                 * Old FreeBSD-style arguments.