結局 Adrian Bunk が以下のパッチを -mmに入れました。
今後、RHEL5.1のgccでカーネルをコンパイルしようとすると、ビルドエラーが起きます。



------------------------------------------------------
Subject: #error for gcc 4.1.{0,1}
From: Adrian Bunk

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
Cc: Roland Dreier
Cc: Ingo Molnar
Cc: Ian Campbell
Cc: Jeremy Fitzhardinge
Cc: Helge Deller
Cc: Rusty Russell
Cc: Kyle McMartin
Cc: Randolph Chung
Cc: Sam Ravnborg
Cc: John David Anglin
Cc: Linus Torvalds
Signed-off-by: Andrew Morton
---

init/main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff -puN init/main.c~error-for-gcc-4101 init/main.c
--- a/init/main.c~error-for-gcc-4101
+++ a/init/main.c
@@ -81,8 +81,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 *);
_