[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20080805222944.GB6477@cs181140183.pp.htv.fi>
Date: Wed, 6 Aug 2008 01:29:44 +0300
From: Adrian Bunk <bunk@...nel.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org
Subject: [2.6 patch] #error for gcc 4.1.{0,1}
gcc 4.1.0 and 4.1.1 are known to miscompile the kernel:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781
Usage of weak functions has become a common pattern in the kernel, and
usages get added in each kernel version increasing the probability of
bugs with each kernel release.
This miscompilation of weak functions can result in subtle runtime
errors.
#error for gcc 4.1.0 and 4.1.1 to prevent users from running into
this bug.
Note:
We already printed a #warning for gcc 4.1.0 due to a different bug.
Signed-off-by: Adrian Bunk <bunk@...nel.org>
---
If anyone has a better patch please step forward - otherwise I'm
proposing this patch.
This patch has been sent on:
- 26 Jun 2008
ee78871a1d85fe60958748c208389adb4031fefe diff --git a/init/main.c b/init/main.c
index f7fb200..bede344 100644
--- a/init/main.c
+++ b/init/main.c
@@ -76,8 +76,9 @@
* trouble.
*/
-#if __GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 0
-#warning gcc-4.1.0 is known to miscompile the kernel. A different compiler version is recommended.
+/* due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781 */
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 1 && (__GNUC_PATCHLEVEL__ == 0 || __GNUC_PATCHLEVEL__ == 1)
+#error gcc 4.1.0 and 4.1.1 are known to miscompile the kernel.
#endif
static int kernel_init(void *);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists