
From: Alan Stern <stern@rowland.harvard.edu>

This patch is needed to work around gcc-2.96's limited ability to cope with
long long intermediate expression types.  I don't know why the code
compiled okay earlier and failed now.


---

 25-akpm/fs/proc/array.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff -puN fs/proc/array.c~proc-array-old-gcc-fix fs/proc/array.c
--- 25/fs/proc/array.c~proc-array-old-gcc-fix	Fri Apr 23 13:39:19 2004
+++ 25-akpm/fs/proc/array.c	Fri Apr 23 13:39:19 2004
@@ -304,6 +304,7 @@ int proc_pid_stat(struct task_struct *ta
  	pid_t ppid, pgid = -1, sid = -1;
 	int num_threads = 0;
 	struct mm_struct *mm;
+	unsigned long long start_time;
 
 	state = *get_task_state(task);
 	vsize = eip = esp = 0;
@@ -349,6 +350,10 @@ int proc_pid_stat(struct task_struct *ta
 	read_lock(&tasklist_lock);
 	ppid = task->pid ? task->real_parent->pid : 0;
 	read_unlock(&tasklist_lock);
+
+	/* Temporary variable needed for gcc-2.96 */
+	start_time = jiffies_64_to_clock_t(task->start_time - INITIAL_JIFFIES);
+
 	res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \
 %lu %lu %lu %lu %lu %ld %ld %ld %ld %d %ld %llu %lu %ld %lu %lu %lu %lu %lu \
 %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu\n",
@@ -373,8 +378,7 @@ int proc_pid_stat(struct task_struct *ta
 		nice,
 		num_threads,
 		jiffies_to_clock_t(task->it_real_value),
-		(unsigned long long)
-		    jiffies_64_to_clock_t(task->start_time - INITIAL_JIFFIES),
+		start_time,
 		vsize,
 		mm ? mm->rss : 0, /* you might want to shift this left 3 */
 		task->rlim[RLIMIT_RSS].rlim_cur,

_
