svn commit: r293581 - in stable/10/sys: amd64/amd64 amd64/ia32 arm/arm i386/i386 mips/mips powerpc/powerpc sparc64/sparc64
Dmitry Chagin
dchagin at FreeBSD.org
Sat Jan 9 17:39:43 UTC 2016
Author: dchagin
Date: Sat Jan 9 17:39:41 2016
New Revision: 293581
URL: https://svnweb.freebsd.org/changeset/base/293581
Log:
MFC r283479:
The kernel sends signals to the processes via ABI specific sv_sendsig method.
Native ABI do not need signal conversion, only emulators may want this. Usually
emulators implements its own sv_sendsig method. For now only ibcs2 emulator does
not have own sv_sendsig implementation and depends on native sendsig() method.
So, remove any extra attempts to convert signal numbers from native sendsig()
methods except from i386 where ibsc2 is living.
Modified:
stable/10/sys/amd64/amd64/machdep.c
stable/10/sys/amd64/ia32/ia32_signal.c
stable/10/sys/arm/arm/machdep.c
stable/10/sys/i386/i386/machdep.c
stable/10/sys/mips/mips/freebsd32_machdep.c
stable/10/sys/mips/mips/pm_machdep.c
stable/10/sys/powerpc/powerpc/exec_machdep.c
stable/10/sys/sparc64/sparc64/machdep.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/amd64/amd64/machdep.c
==============================================================================
--- stable/10/sys/amd64/amd64/machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/amd64/amd64/machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -384,10 +384,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi,
/* Align to 16 bytes. */
sfp = (struct sigframe *)((unsigned long)sp & ~0xFul);
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
regs->tf_rdi = sig; /* arg 1 in %rdi */
regs->tf_rdx = (register_t)&sfp->sf_uc; /* arg 3 in %rdx */
Modified: stable/10/sys/amd64/ia32/ia32_signal.c
==============================================================================
--- stable/10/sys/amd64/ia32/ia32_signal.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/amd64/ia32/ia32_signal.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -360,10 +360,6 @@ ia32_osendsig(sig_t catcher, ksiginfo_t
} else
fp = (struct ia32_sigframe3 *)regs->tf_rsp - 1;
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_scp = (register_t)&fp->sf_siginfo.si_sc;
@@ -498,10 +494,6 @@ freebsd4_ia32_sendsig(sig_t catcher, ksi
sfp = (struct ia32_sigframe4 *)regs->tf_rsp - 1;
PROC_UNLOCK(p);
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_ucontext = (register_t)&sfp->sf_uc;
@@ -643,10 +635,6 @@ ia32_sendsig(sig_t catcher, ksiginfo_t *
sfp = (struct ia32_sigframe *)((uintptr_t)sp & ~0xF);
PROC_UNLOCK(p);
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_ucontext = (register_t)&sfp->sf_uc;
Modified: stable/10/sys/arm/arm/machdep.c
==============================================================================
--- stable/10/sys/arm/arm/machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/arm/arm/machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -259,10 +259,6 @@ sendsig(catcher, ksi, mask)
sigexit(td, SIGILL);
}
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/*
* Build context to run handler in. We invoke the handler
* directly, only returning via the trampoline. Note the
Modified: stable/10/sys/i386/i386/machdep.c
==============================================================================
--- stable/10/sys/i386/i386/machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/i386/i386/machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -400,10 +400,6 @@ osendsig(sig_t catcher, ksiginfo_t *ksi,
} else
fp = (struct osigframe *)regs->tf_esp - 1;
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_scp = (register_t)&fp->sf_siginfo.si_sc;
@@ -551,10 +547,6 @@ freebsd4_sendsig(sig_t catcher, ksiginfo
} else
sfp = (struct sigframe4 *)regs->tf_esp - 1;
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
sf.sf_signum = sig;
sf.sf_ucontext = (register_t)&sfp->sf_uc;
Modified: stable/10/sys/mips/mips/freebsd32_machdep.c
==============================================================================
--- stable/10/sys/mips/mips/freebsd32_machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/mips/mips/freebsd32_machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -419,12 +419,6 @@ freebsd32_sendsig(sig_t catcher, ksiginf
sfp = (struct sigframe32 *)((vm_offset_t)(td->td_frame->sp -
sizeof(struct sigframe32)) & ~(sizeof(__int64_t) - 1));
- /* Translate the signal if appropriate */
- if (p->p_sysent->sv_sigtbl) {
- if (sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
- }
-
/* Build the argument list for the signal handler. */
td->td_frame->a0 = sig;
td->td_frame->a2 = (register_t)(intptr_t)&sfp->sf_uc;
Modified: stable/10/sys/mips/mips/pm_machdep.c
==============================================================================
--- stable/10/sys/mips/mips/pm_machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/mips/mips/pm_machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -133,12 +133,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi,
sfp = (struct sigframe *)((vm_offset_t)(regs->sp -
sizeof(struct sigframe)) & ~(sizeof(__int64_t) - 1));
- /* Translate the signal if appropriate */
- if (p->p_sysent->sv_sigtbl) {
- if (sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
- }
-
/* Build the argument list for the signal handler. */
regs->a0 = sig;
regs->a2 = (register_t)(intptr_t)&sfp->sf_uc;
Modified: stable/10/sys/powerpc/powerpc/exec_machdep.c
==============================================================================
--- stable/10/sys/powerpc/powerpc/exec_machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/powerpc/powerpc/exec_machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -231,12 +231,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi,
}
/*
- * Translate the signal if appropriate (Linux emu ?)
- */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
- /*
* Save the floating-point state, if necessary, then copy it.
*/
/* XXX */
Modified: stable/10/sys/sparc64/sparc64/machdep.c
==============================================================================
--- stable/10/sys/sparc64/sparc64/machdep.c Sat Jan 9 17:35:09 2016 (r293580)
+++ stable/10/sys/sparc64/sparc64/machdep.c Sat Jan 9 17:39:41 2016 (r293581)
@@ -658,10 +658,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi,
fp = (struct frame *)sfp - 1;
- /* Translate the signal if appropriate. */
- if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize)
- sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)];
-
/* Build the argument list for the signal handler. */
tf->tf_out[0] = sig;
tf->tf_out[2] = (register_t)&sfp->sf_uc;
More information about the svn-src-stable
mailing list