[kernel] r13994 - in dists/lenny/linux-2.6/debian: . patches/bugfix/all patches/series
Dann Frazier
dannf at alioth.debian.org
Thu Jul 23 05:19:13 UTC 2009
Author: dannf
Date: Thu Jul 23 05:19:07 2009
New Revision: 13994
Log:
workaround gcc-4.2 regression when compiling fbcon
Added:
dists/lenny/linux-2.6/debian/patches/bugfix/all/fbmon-work-around-compiler-bug.patch
Modified:
dists/lenny/linux-2.6/debian/changelog
dists/lenny/linux-2.6/debian/patches/series/18
Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog Wed Jul 22 22:46:37 2009 (r13993)
+++ dists/lenny/linux-2.6/debian/changelog Thu Jul 23 05:19:07 2009 (r13994)
@@ -14,7 +14,9 @@
[ dann frazier ]
* e1000e: add support for 82574L controllers (closes: #534519)
- * Use -fno-strict-overflow instead of -fwrapv (closes: #536354)
+ * Use -fno-strict-overflow instead of -fwrapv and workaround a
+ regression in fbcon this may introduce if users build custom kernels
+ w/ gcc-4.2 (prebuilt kernels use 4.1) (closes: #536354)
[ Moritz Muehlenhoff ]
* fbdev/atyfb: Fix display corruption on some PowerMacs & PowerBooks
Added: dists/lenny/linux-2.6/debian/patches/bugfix/all/fbmon-work-around-compiler-bug.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/all/fbmon-work-around-compiler-bug.patch Thu Jul 23 05:19:07 2009 (r13994)
@@ -0,0 +1,48 @@
+commit 3730793d457fed79a6d49bae72996d458c8e4f2d
+Author: Linus Torvalds <torvalds at linux-foundation.org>
+Date: Wed Jul 22 08:49:22 2009 -0700
+
+ fbmon: work around compiler bug in gcc-2.4.2
+
+ There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
+ he loop counter is of type 'unsigned char' and it should count to 128.
+
+ The compiler will incorrectly decide that a trivial loop like this:
+
+ unsigned char i, ...
+
+ for (i = 0; i < 128; i++) {
+ ..
+
+ is endless, and will compile it to a single instruction that just
+ branches to itself.
+
+ This was triggered by the addition of '-fno-strict-overflow', and we
+ could play games with compiler versions and go back to '-fwrapv'
+ instead, but the trivial way to avoid it is to just make the loop
+ induction variable be an 'int' instead.
+
+ Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
+ for digging through assembler differences and finding it.
+
+ Reported-and-tested-by: Krzysztof Oledzki <olel at ans.pl>
+ Found-by: Troy Moure <twmoure at szypr.net>
+ Gcc-bug-acked-by: Ian Lance Taylor <iant at google.com>
+ Cc: stable at kernel.org
+ Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+
+diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c
+index 5c1a2c0..9ae9cd3 100644
+--- a/drivers/video/fbmon.c
++++ b/drivers/video/fbmon.c
+@@ -256,8 +256,8 @@ static void fix_edid(unsigned char *edid, int fix)
+
+ static int edid_checksum(unsigned char *edid)
+ {
+- unsigned char i, csum = 0, all_null = 0;
+- int err = 0, fix = check_edid(edid);
++ unsigned char csum = 0, all_null = 0;
++ int i, err = 0, fix = check_edid(edid);
+
+ if (fix)
+ fix_edid(edid, fix);
Modified: dists/lenny/linux-2.6/debian/patches/series/18
==============================================================================
--- dists/lenny/linux-2.6/debian/patches/series/18 Wed Jul 22 22:46:37 2009 (r13993)
+++ dists/lenny/linux-2.6/debian/patches/series/18 Thu Jul 23 05:19:07 2009 (r13994)
@@ -11,3 +11,4 @@
+ bugfix/all/sound-enable-snoop-for-nvidia-hda.patch
+ bugfix/all/eeepc-fix-oops-when-changing-backlight-brightness-during-init.patch
+ bugfix/all/hpet-avoid-log-flooding.patch
++ bugfix/all/fbmon-work-around-compiler-bug.patch
More information about the Kernel-svn-changes
mailing list