[PATCH] gcc 3.1 breaks wchan

From: Anton Blanchard (anton@samba.org)
Date: Wed Apr 24 2002 - 20:43:25 EST


Hi,

I noticed on a ppc64 kernel compiled with gcc 3.1 that context_switch
was left out of line. It ended up outside of the
scheduling_functions_start_here/end_here placeholders which breaks
wchan.

This is one place where we require the code to be inline, so we should use
extern.

Anton

--- linux-2.5/kernel/sched.c Tue Apr 23 16:00:33 2002
+++ linux-2.5_work/kernel/sched.c Thu Apr 25 11:38:45 2002
@@ -405,7 +405,8 @@
 }
 #endif
 
-static inline void context_switch(task_t *prev, task_t *next)
+/* This must end up inline or our wchan handling will break, so use extern */
+extern inline void context_switch(task_t *prev, task_t *next)
 {
         struct mm_struct *mm = next->mm;
         struct mm_struct *oldmm = prev->active_mm;
-
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/



This archive was generated by hypermail 2b29 : Tue Apr 30 2002 - 22:00:10 EST