Skip to content

Commit

Permalink
MIPS: Remove old core dump functions
Browse files Browse the repository at this point in the history
Since the core dumper now uses regsets, the old core dump functions are
now unused. Remove them.

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7456/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Alex Smith authored and Ralf Baechle committed Aug 1, 2014
1 parent a79ebea commit 30852ad
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 104 deletions.
17 changes: 0 additions & 17 deletions arch/mips/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,23 +339,6 @@ do { \

#endif /* CONFIG_64BIT */

struct pt_regs;
struct task_struct;

extern void elf_dump_regs(elf_greg_t *, struct pt_regs *regs);
extern int dump_task_regs(struct task_struct *, elf_gregset_t *);
extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *);

#ifndef ELF_CORE_COPY_REGS
#define ELF_CORE_COPY_REGS(elf_regs, regs) \
elf_dump_regs((elf_greg_t *)&(elf_regs), regs);
#endif
#ifndef ELF_CORE_COPY_TASK_REGS
#define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk, elf_regs)
#endif
#define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) \
dump_task_fpu(tsk, elf_fpregs)

#define CORE_DUMP_USE_REGSET
#define ELF_EXEC_PAGESIZE PAGE_SIZE

Expand Down
32 changes: 0 additions & 32 deletions arch/mips/kernel/binfmt_elfo32.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,6 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];

#include <asm/processor.h>

/* These MUST be defined before elf.h gets included */
extern void elf32_core_copy_regs(elf_gregset_t grp, struct pt_regs *regs);
#define ELF_CORE_COPY_REGS(_dest, _regs) elf32_core_copy_regs(_dest, _regs);
#define ELF_CORE_COPY_TASK_REGS(_tsk, _dest) \
({ \
int __res = 1; \
elf32_core_copy_regs(*(_dest), task_pt_regs(_tsk)); \
__res; \
})

#include <linux/module.h>
#include <linux/elfcore.h>
#include <linux/compat.h>
Expand Down Expand Up @@ -139,28 +129,6 @@ jiffies_to_compat_timeval(unsigned long jiffies, struct compat_timeval *value)
value->tv_usec = rem / NSEC_PER_USEC;
}

void elf32_core_copy_regs(elf_gregset_t grp, struct pt_regs *regs)
{
int i;

for (i = 0; i < MIPS32_EF_R0; i++)
grp[i] = 0;
grp[MIPS32_EF_R0] = 0;
for (i = 1; i <= 31; i++)
grp[MIPS32_EF_R0 + i] = (elf_greg_t) regs->regs[i];
grp[MIPS32_EF_R26] = 0;
grp[MIPS32_EF_R27] = 0;
grp[MIPS32_EF_LO] = (elf_greg_t) regs->lo;
grp[MIPS32_EF_HI] = (elf_greg_t) regs->hi;
grp[MIPS32_EF_CP0_EPC] = (elf_greg_t) regs->cp0_epc;
grp[MIPS32_EF_CP0_BADVADDR] = (elf_greg_t) regs->cp0_badvaddr;
grp[MIPS32_EF_CP0_STATUS] = (elf_greg_t) regs->cp0_status;
grp[MIPS32_EF_CP0_CAUSE] = (elf_greg_t) regs->cp0_cause;
#ifdef MIPS32_EF_UNUSED0
grp[MIPS32_EF_UNUSED0] = 0;
#endif
}

MODULE_DESCRIPTION("Binary format loader for compatibility with o32 Linux/MIPS binaries");
MODULE_AUTHOR("Ralf Baechle (ralf@linux-mips.org)");

Expand Down
55 changes: 0 additions & 55 deletions arch/mips/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,61 +152,6 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
return 0;
}

/* Fill in the fpu structure for a core dump.. */
int dump_fpu(struct pt_regs *regs, elf_fpregset_t *r)
{
int i;

for (i = 0; i < NUM_FPU_REGS; i++)
memcpy(&r[i], &current->thread.fpu.fpr[i], sizeof(*r));

memcpy(&r[NUM_FPU_REGS], &current->thread.fpu.fcr31,
sizeof(current->thread.fpu.fcr31));

return 1;
}

void elf_dump_regs(elf_greg_t *gp, struct pt_regs *regs)
{
int i;

for (i = 0; i < EF_R0; i++)
gp[i] = 0;
gp[EF_R0] = 0;
for (i = 1; i <= 31; i++)
gp[EF_R0 + i] = regs->regs[i];
gp[EF_R26] = 0;
gp[EF_R27] = 0;
gp[EF_LO] = regs->lo;
gp[EF_HI] = regs->hi;
gp[EF_CP0_EPC] = regs->cp0_epc;
gp[EF_CP0_BADVADDR] = regs->cp0_badvaddr;
gp[EF_CP0_STATUS] = regs->cp0_status;
gp[EF_CP0_CAUSE] = regs->cp0_cause;
#ifdef EF_UNUSED0
gp[EF_UNUSED0] = 0;
#endif
}

int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs)
{
elf_dump_regs(*regs, task_pt_regs(tsk));
return 1;
}

int dump_task_fpu(struct task_struct *t, elf_fpregset_t *fpr)
{
int i;

for (i = 0; i < NUM_FPU_REGS; i++)
memcpy(&fpr[i], &t->thread.fpu.fpr[i], sizeof(*fpr));

memcpy(&fpr[NUM_FPU_REGS], &t->thread.fpu.fcr31,
sizeof(t->thread.fpu.fcr31));

return 1;
}

#ifdef CONFIG_CC_STACKPROTECTOR
#include <linux/stackprotector.h>
unsigned long __stack_chk_guard __read_mostly;
Expand Down

0 comments on commit 30852ad

Please sign in to comment.