This is v2 of the global signal cleanup series. This patch series moves all remaining archs to the get_signal() and signal_setup_done() functions. Currently these archs use open coded variants of the said functions. Further, unused parameters get removed from get_signal_to_deliver(), tracehook_signal_handler() and signal_delivered(). The following archs got zero build testing: arc, c6x, cris-v32, hexagon, metag, score, unicore, sh64. Changes since v1: - Dropped "h8300: Use get_signal() signal_setup_done()", architecture got ripped out - Dropped "openrisc: Use get_signal() signal_setup_done()", merged via openrisc tree - Added ack to "c6x: Use get_signal() signal_setup_done()" - Added ack to "hexagon: Use get_signal() signal_setup_done()" - Added ack to "score: Use get_signal() signal_setup_done()" - Added a common helper to translate signals - Fixed some build issues - Addressed comments Signal translation using exec_domain is in a strange state. Some archs support it, some not, some only kind of. I fear mostly because of copy&paste developerment. Here a small overview of my findings: alpha: no translation arc: supports translation arm: supports translation arm64: supports translation avr32: no translation blackfin: is confused, puts translated signal on stack frame, untranslated on regs->r0 c6x: no translation cris: no translation, quote: /* TODO what is the current->exec_domain stuff and invmap ? */ frv: is confused, puts translated signal on stack frame, untranslated on regs->gr8 hexagon: no translation ia64: no translation m32r: supports translation m68k: supports translation metag: no translation microblaze: supports translation mips: no translation mn10300: is confused, puts translated signal on stack frame, untranslated on regs->d0 openrisc: no translation, quote: /* TODO what is the current->exec_domain stuff and invmap ? */ parisc: no translation powerpc: no translation s390: supports translation score: no translation sh: supports translation sparc: no translation tile: support translation um: support translation (only x86_64) unicore32: support translation x86: support translation (only ia32) xtensa: support translation I'm wondering on which archs exec domains (and therefore signal translation) are fully supported. I guess we can remove the signal translation stuff from most archs. Maybe hch can tell us more. The whole series can also be found at: git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc.git signal_v2 arch/arc/kernel/signal.c | 52 ++++----------- arch/arm/kernel/signal.c | 14 ---- arch/arm64/include/asm/signal32.h | 7 -- arch/arm64/kernel/signal.c | 55 +++++----------- arch/arm64/kernel/signal32.c | 8 +- arch/avr32/kernel/signal.c | 43 +++++------- arch/blackfin/kernel/signal.c | 42 ++++-------- arch/c6x/kernel/signal.c | 43 +++++------- arch/cris/arch-v10/kernel/signal.c | 79 +++++++++-------------- arch/cris/arch-v32/kernel/signal.c | 77 ++++++++-------------- arch/frv/kernel/signal.c | 122 ++++++++++++------------------------ arch/hexagon/kernel/signal.c | 45 +++++-------- arch/ia64/kernel/signal.c | 46 ++++++------- arch/m32r/kernel/signal.c | 52 +++++---------- arch/m68k/kernel/signal.c | 78 +++++++---------------- arch/metag/kernel/signal.c | 55 +++++++--------- arch/microblaze/kernel/signal.c | 56 +++++----------- arch/mips/include/asm/abi.h | 10 +- arch/mips/kernel/signal.c | 66 +++++++------------ arch/mips/kernel/signal32.c | 39 ++++------- arch/mips/kernel/signal_n32.c | 20 ++--- arch/mn10300/kernel/signal.c | 112 +++++++++++---------------------- arch/parisc/kernel/signal.c | 58 +++++++---------- arch/powerpc/kernel/signal.c | 31 +++------ arch/powerpc/kernel/signal.h | 12 +-- arch/powerpc/kernel/signal_32.c | 36 ++++------ arch/powerpc/kernel/signal_64.c | 28 +++----- arch/s390/kernel/compat_signal.c | 92 ++++++++++----------------- arch/s390/kernel/entry.h | 4 - arch/s390/kernel/signal.c | 92 +++++++++------------------ arch/score/kernel/signal.c | 43 +++++------- arch/sh/kernel/signal_32.c | 94 +++++++++------------------ arch/sh/kernel/signal_64.c | 97 ++++++++++------------------ arch/tile/include/asm/compat.h | 3 arch/tile/kernel/compat_signal.c | 37 ++++------ arch/tile/kernel/signal.c | 62 +++++++----------- arch/um/include/shared/frame_kern.h | 12 +-- arch/um/kernel/signal.c | 27 +++---- arch/unicore32/kernel/signal.c | 73 +++++++-------------- arch/x86/kernel/signal.c | 9 -- arch/x86/um/signal.c | 52 ++++++--------- arch/xtensa/kernel/signal.c | 51 +++++---------- include/linux/signal.h | 27 +++---- include/linux/tracehook.h | 8 -- kernel/signal.c | 46 ++++++------- 45 files changed, 800 insertions(+), 1315 deletions(-) Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html