struct kmem_cache *task_xstate_cachep = NULL;
unsigned int xstate_size;
+#ifdef CONFIG_CC_STACKPROTECTOR
+unsigned long __stack_chk_guard __read_mostly;
+EXPORT_SYMBOL(__stack_chk_guard);
+#endif
+
+ /*
+ * this gets called so that we can store lazy state into memory and copy the
+ * current task into the new thread.
+ */
int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
{
+ #ifdef CONFIG_SUPERH32
+ unlazy_fpu(src, task_pt_regs(src));
+ #endif
*dst = *src;
if (src->thread.xstate) {
put_cpu();
kfree(bp);
}
+
+ drop_fpu(me);
}
-void show_regs(struct pt_regs *regs)
-{
- show_registers(regs);
- show_trace(NULL, regs, (unsigned long *)kernel_stack_pointer(regs), 0);
-}
-
void show_regs_common(void)
{
const char *vendor, *product, *board;