Messages in this thread Patch in this message |  | | | Date | Fri, 17 Jul 2009 13:09:15 -0700 | | From | Greg KH <> | | Subject | [patch 24/24] Dont use -fwrapv compiler option: its buggy in gcc-4.1.x |
| |
2.6.30-stable review patch. If anyone has any objections, please let us know.
------------------ From: Linus Torvalds <torvalds@linux-foundation.org>
commit a137802ee839ace40079bebde24cfb416f73208a upstream.
This causes kernel images that don't run init to completion with certain broken gcc versions.
This fixes kernel bugzilla entry: http://bugzilla.kernel.org/show_bug.cgi?id=13012
I suspect the gcc problem is this: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230
Fix the problem by using the -fno-strict-overflow flag instead, which not only does not exist in the known-to-be-broken versions of gcc (it was introduced later than fwrapv), but seems to be much less disturbing to gcc too: the difference in the generated code by -fno-strict-overflow are smaller (compared to using neither flag) than when using -fwrapv.
Reported-by: Barry K. Nathan <barryn@pobox.com> Pushed-by: Frans Pop <elendil@planet.nl> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/Makefile +++ b/Makefile @@ -574,7 +574,7 @@ KBUILD_CFLAGS += $(call cc-option,-Wdecl KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,) # disable invalid "can't wrap" optimizations for signed / pointers -KBUILD_CFLAGS += $(call cc-option,-fwrapv) +KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow) # revert to pre-gcc-4.4 behaviour of .eh_frame KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
|  |