kill unused dump_fpu() instances
dump_fpu() is used only on the architectures that support elf and have neither CORE_DUMP_USE_REGSET nor ELF_CORE_COPY_FPREGS defined. Currently that's csky, m68k, microblaze, nds32 and unicore32. The rest of the instances are dead code. NB: THIS MUST GO AFTER ELF_FDPIC CONVERSION Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -700,72 +700,6 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
|
||||
return 0;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
unsigned int pr_regs[32];
|
||||
unsigned long pr_dregs[16];
|
||||
} pr_fr;
|
||||
unsigned int __unused;
|
||||
unsigned int pr_fsr;
|
||||
unsigned char pr_qcnt;
|
||||
unsigned char pr_q_entrysize;
|
||||
unsigned char pr_en;
|
||||
unsigned int pr_q[64];
|
||||
} elf_fpregset_t32;
|
||||
|
||||
/*
|
||||
* fill in the fpu structure for a core dump.
|
||||
*/
|
||||
int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs)
|
||||
{
|
||||
unsigned long *kfpregs = current_thread_info()->fpregs;
|
||||
unsigned long fprs = current_thread_info()->fpsaved[0];
|
||||
|
||||
if (test_thread_flag(TIF_32BIT)) {
|
||||
elf_fpregset_t32 *fpregs32 = (elf_fpregset_t32 *)fpregs;
|
||||
|
||||
if (fprs & FPRS_DL)
|
||||
memcpy(&fpregs32->pr_fr.pr_regs[0], kfpregs,
|
||||
sizeof(unsigned int) * 32);
|
||||
else
|
||||
memset(&fpregs32->pr_fr.pr_regs[0], 0,
|
||||
sizeof(unsigned int) * 32);
|
||||
fpregs32->pr_qcnt = 0;
|
||||
fpregs32->pr_q_entrysize = 8;
|
||||
memset(&fpregs32->pr_q[0], 0,
|
||||
(sizeof(unsigned int) * 64));
|
||||
if (fprs & FPRS_FEF) {
|
||||
fpregs32->pr_fsr = (unsigned int) current_thread_info()->xfsr[0];
|
||||
fpregs32->pr_en = 1;
|
||||
} else {
|
||||
fpregs32->pr_fsr = 0;
|
||||
fpregs32->pr_en = 0;
|
||||
}
|
||||
} else {
|
||||
if(fprs & FPRS_DL)
|
||||
memcpy(&fpregs->pr_regs[0], kfpregs,
|
||||
sizeof(unsigned int) * 32);
|
||||
else
|
||||
memset(&fpregs->pr_regs[0], 0,
|
||||
sizeof(unsigned int) * 32);
|
||||
if(fprs & FPRS_DU)
|
||||
memcpy(&fpregs->pr_regs[16], kfpregs+16,
|
||||
sizeof(unsigned int) * 32);
|
||||
else
|
||||
memset(&fpregs->pr_regs[16], 0,
|
||||
sizeof(unsigned int) * 32);
|
||||
if(fprs & FPRS_FEF) {
|
||||
fpregs->pr_fsr = current_thread_info()->xfsr[0];
|
||||
fpregs->pr_gsr = current_thread_info()->gsr[0];
|
||||
} else {
|
||||
fpregs->pr_fsr = fpregs->pr_gsr = 0;
|
||||
}
|
||||
fpregs->pr_fprs = fprs;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
EXPORT_SYMBOL(dump_fpu);
|
||||
|
||||
unsigned long get_wchan(struct task_struct *task)
|
||||
{
|
||||
unsigned long pc, fp, bias = 0;
|
||||
|
Reference in New Issue
Block a user