From: Alan Stern 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, _