From: Paul M. <le...@li...> - 2007-07-26 05:44:14
|
On Thu, Jul 26, 2007 at 03:25:37PM +1000, David McCullough wrote: > unsigned long get_wchan(struct task_struct *p) > { > - unsigned long schedule_frame; > unsigned long pc; > > if (!p || p == current || p->state == TASK_RUNNING) The removal of schedule_frame will break CONFIG_FRAME_POINTER=y. > @@ -484,11 +483,12 @@ unsigned long get_wchan(struct task_struct *p) > * The same comment as on the Alpha applies here, too ... > */ > pc = thread_saved_pc(p); > +#ifdef CONFIG_FRAME_POINTER > if (in_sched_functions(pc)) { > schedule_frame = (unsigned long)p->thread.sp; > return ((unsigned long *)schedule_frame)[21]; > } > - > +#endif > return pc; > } > I'll fix it up. |