From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263262AbTJZQY3 (ORCPT ); Sun, 26 Oct 2003 11:24:29 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263274AbTJZQY3 (ORCPT ); Sun, 26 Oct 2003 11:24:29 -0500 Received: from fiberbit.xs4all.nl ([213.84.224.214]:21151 "EHLO fiberbit.xs4all.nl") by vger.kernel.org with ESMTP id S263262AbTJZQY1 (ORCPT ); Sun, 26 Oct 2003 11:24:27 -0500 Date: Sun, 26 Oct 2003 17:24:22 +0100 From: Marco Roeland To: wsy@merl.com Cc: Linux Kernel Development Subject: Re: compile-time error in 2.6.0-test9 Message-ID: <20031026162422.GB23792@localhost> References: <200310261553.h9QFrb513039@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <200310261553.h9QFrb513039@localhost.localdomain> User-Agent: Mutt/1.5.4i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Sunday Oktober 26th 2003 at 10:53 uur wsy@merl.com wrote: > > [1.] One line summary of the problem: > > compile-time error in fresh, unpatched 2.6.0-test9 Yes, this is a compiler bug in gcc 2.96 you're hitting. Two separate patches have been posted that fix it (one from Shane Shrybman and one by me). Here's my version (tested by Norman Diamond): --- linux-2.6.0-test8/fs/proc/array.c.orig 2003-10-21 16:18:40.000000000 +0200 +++ linux-2.6.0-test8/fs/proc/array.c 2003-10-23 09:30:27.000000000 +0200 @@ -302,6 +302,7 @@ pid_t ppid; int num_threads = 0; struct mm_struct *mm; + unsigned long long starttime; state = *get_task_state(task); vsize = eip = esp = 0; @@ -343,9 +344,7 @@ read_lock(&tasklist_lock); ppid = task->pid ? task->real_parent->pid : 0; read_unlock(&tasklist_lock); - 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", + res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu ", task->pid, task->comm, state, @@ -355,7 +354,9 @@ tty_nr, tty_pgrp, task->flags, - task->min_flt, + task->min_flt); + starttime = jiffies_64_to_clock_t(task->start_time - INITIAL_JIFFIES); + res += sprintf(buffer + res,"%lu %lu %lu %lu %lu %ld %ld %ld %ld %d %ld %llu %lu %ld %lu %lu %lu %lu %lu ", task->cmin_flt, task->maj_flt, task->cmaj_flt, @@ -367,15 +368,15 @@ nice, num_threads, jiffies_to_clock_t(task->it_real_value), - (unsigned long long) - jiffies_64_to_clock_t(task->start_time - INITIAL_JIFFIES), + starttime, vsize, mm ? mm->rss : 0, /* you might want to shift this left 3 */ task->rlim[RLIMIT_RSS].rlim_cur, mm ? mm->start_code : 0, mm ? mm->end_code : 0, mm ? mm->start_stack : 0, - esp, + esp); + res += sprintf(buffer + res,"%lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu\n", eip, /* The signal information here is obsolete. * It must be decimal for Linux 2.0 compatibility.