diff -r 23d2d8defa03 -r af75fc1fe0fc patches/linux/2.6.11.3/100-arch_alpha_kernel_srcons.patch --- a/patches/linux/2.6.11.3/100-arch_alpha_kernel_srcons.patch Fri Sep 05 16:15:34 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -Date: Sun, 20 Mar 2005 20:26:02 -0800 -From: Richard Henderson -To: Andrew Morton -Cc: Dan Kegel , jbglaw@lug-owl.de, - linux-kernel@vger.kernel.org, torvalds@osdl.org -Subject: Re: 2.6.11.3 build problem in arch/alpha/kernel/srcons.c with gcc-4.0 -Message-ID: <20050321042602.GA3795@twiddle.net> -Mail-Followup-To: Andrew Morton , Dan Kegel , - jbglaw@lug-owl.de, linux-kernel@vger.kernel.org, torvalds@osdl.org -References: <423E238F.3030805@kegel.com> <20050320190352.65cc1396.akpm@osdl.org> -Mime-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -In-Reply-To: <20050320190352.65cc1396.akpm@osdl.org> -User-Agent: Mutt/1.4.1i - -On Sun, Mar 20, 2005 at 07:03:52PM -0800, Andrew Morton wrote: -> Dan Kegel wrote: -> > -> > Anyone with an alpha care to suggest a fix for this? -> > -> > arch/alpha/kernel/srmcons.c: In function 'srmcons_open': -> > arch/alpha/kernel/srmcons.c:196: warning: 'srmconsp' may be used uninitialized in this function -> > make[1]: *** [arch/alpha/kernel/srmcons.o] Error 1 -> > make: *** [arch/alpha/kernel] Error 2 -> > -> > I get this when building the 2.6.11.3 kernel with a recent gcc-4.0 snapshot. -> > -> -> It's beyond gcc's ability to figure out that the code is OK. Options would -> be to disable -Werror, or to artificially initialise that variable. - -Fixed thus. - -Note that even with a _raw_read_trylock implementation, smp still -doesn't work. Everything that init spawns dies immediately. I -havn't had a chance to find out why yet... - -[ Note: deleted changes to smp.c, since they didn't apply cleanly - to 2.6.11.3 (the function had moved, I guess), and they seemed unrelated.] - -r~ - - - -You can import this changeset into BK by piping this whole message to: -'| bk receive [path to repository]' or apply the patch as usual. - -=================================================================== - - -ChangeSet@1.2289, 2005-03-20 12:29:41-08:00, rth@kanga.twiddle.home - [ALPHA] Elimitate two warnings from gcc4. - - - smp.c | 43 ------------------------------------------- - srmcons.c | 27 ++++++++++----------------- - 2 files changed, 10 insertions(+), 60 deletions(-) - - -diff -Nru a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c ---- a/arch/alpha/kernel/srmcons.c 2005-03-20 20:23:28 -08:00 -+++ b/arch/alpha/kernel/srmcons.c 2005-03-20 20:23:28 -08:00 -@@ -164,29 +164,22 @@ - unsigned long flags; - int retval = 0; - -- spin_lock_irqsave(&srmconsp_lock, flags); -- -- do { -- if (srmconsp != NULL) { -- *ps = srmconsp; -- break; -- } -+ if (srmconsp == NULL) { -+ spin_lock_irqsave(&srmconsp_lock, flags); - - srmconsp = kmalloc(sizeof(*srmconsp), GFP_KERNEL); -- if (srmconsp == NULL) { -+ if (srmconsp == NULL) - retval = -ENOMEM; -- break; -+ else { -+ srmconsp->tty = NULL; -+ spin_lock_init(&srmconsp->lock); -+ init_timer(&srmconsp->timer); - } - -- srmconsp->tty = NULL; -- spin_lock_init(&srmconsp->lock); -- init_timer(&srmconsp->timer); -- -- *ps = srmconsp; -- } while(0); -- -- spin_unlock_irqrestore(&srmconsp_lock, flags); -+ spin_unlock_irqrestore(&srmconsp_lock, flags); -+ } - -+ *ps = srmconsp; - return retval; - } - - -=================================================================== - - -This BitKeeper patch contains the following changesets: -1.2289 -## Wrapped with gzip_uu ## - - -M'XL( $!,/D( [56[V_;-A#]+/X5!Q38FFV628KZY4XSH8D1KK%-F#@>'J\]^[>V6_@6@LU\919H#?PL=%F -MXG$E?+,N\[P2OA3&QJ^:QL;'BZ868YLY?O=YS&_;$?4C9$\ON3:P:O]%YY3=J_D^4 -M$ (\R^')V? -M@82,8'2Y5Q6-7OA""'.,3AZA:?O>)3BWJA?I3?Z"*G>@#RND49R&PW0_0\O-^RN)C,R\ -MNCVM2MD9UB_#4'" X8@&$8D?A5+ -M7(FU*JT1[@J?S869M:I<67/,M%%=9D!W;MTLN(&?6@VE!EZM^4:#>] (Z;O