]> git.hungrycats.org Git - linux/commitdiff
[PATCH] fs/proc/array.c: workaround for gcc-2.96
authorAndrew Morton <akpm@osdl.org>
Mon, 26 Apr 2004 16:02:54 +0000 (09:02 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 26 Apr 2004 16:02:54 +0000 (09:02 -0700)
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.

fs/proc/array.c

index 40d29f07898497f81849308eded3c8812982dd37..6bdd15bfb4024f63e973a7d6fb39d0447c8c99f9 100644 (file)
@@ -304,6 +304,7 @@ int proc_pid_stat(struct task_struct *task, char * buffer)
        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 *task, char * buffer)
        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 *task, char * buffer)
                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,