Resurrecting an old work - elf coredumps mess reduction. Back in 2008 some of the architectures have switched to use of regsets for elf coredumps. Unfortunately, back then the helpers used by other architectures used to be shared with a.out coredump support, which made their calling conventions, etc. hard to modify. As the result, Roland went for duplicating quite a bit of coredump-generating logics, with ifdef selecting the right variant. Since then the copies had drifted apart - changes made to one of them and applicable to both had not been propagated, etc. Many (but not all) architectures have switched to regset variant. And a.out coredump support had been removed, which made it easier to modify the primitives on non-regset architectures. Series below attempts to make use of that; it had been started about 4 years ago, but got stalled several times. Review and testing would be very appreciated. Individual patches - in followups. Alternatively, it can be found in git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.gitd #work.elfcore. Al Viro (10): kill signal_pt_regs() kill coredump_params->regs kill extern of vsyscall32_sysctl [elf][regset] clean fill_note_info() a bit [elf][regset] simplify thread list handling in fill_note_info() elf_core_copy_task_regs(): task_pt_regs is defined everywhere [elf][non-regset] uninline elf_core_copy_task_fpregs() (and lose pt_regs argument) [elf][non-regset] use elf_core_copy_task_regs() for dumper as well [elf] unify regset and non-regset cases [elf] get rid of get_note_info_size() arch/alpha/include/asm/elf.h | 6 - arch/alpha/include/asm/ptrace.h | 1 - arch/alpha/kernel/process.c | 8 +- arch/csky/kernel/process.c | 3 +- arch/m68k/kernel/process.c | 3 +- arch/microblaze/kernel/process.c | 2 +- arch/um/kernel/process.c | 2 +- arch/x86/include/asm/elf.h | 1 - arch/x86/um/asm/elf.h | 4 - fs/binfmt_elf.c | 271 ++++++++------------------------------- fs/coredump.c | 1 - include/linux/coredump.h | 1 - include/linux/elfcore.h | 13 +- include/linux/ptrace.h | 9 -- kernel/signal.c | 2 +- 15 files changed, 61 insertions(+), 266 deletions(-)