Messages in this thread | | | Date | Thu, 29 Sep 2005 07:12:39 +0100 | From | Al Viro <> | Subject | [RFC] breakage either in arch/sh/Kconfig or arch/sh/kernel/process.c? |
| |
In process.c: void flush_thread(void) { #if defined(CONFIG_SH_FPU) struct task_struct *tsk = current; struct pt_regs *regs = (struct pt_regs *) ((unsigned long)tsk->thread_info + THREAD_SIZE - sizeof(struct pt_regs) - sizeof(unsigned long)); ... and int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs) { struct pt_regs ptregs;
ptregs = *(struct pt_regs *) ((unsigned long)tsk->thread_info + THREAD_SIZE - sizeof(struct pt_regs) #ifdef CONFIG_SH_DSP - sizeof(struct pt_dspregs) #endif - sizeof(unsigned long));
which is obviously inconsistent if we ever build with both SH_FPU and SH_DSP set. Now, in arch/sh/Kconfig we see that SH_FPU depends on !CPU_SH3 and SH_DSP on !CPU_SH4. Which leaves CPU_SH2 picking both options.
Comments? Looks like either Kconfig or flush_thread() needs fixing... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |