GCC-4 compiler bug
Simon 'corecode' Schubert
corecode at fs.ei.tum.de
Thu Nov 29 01:40:37 PST 2007
Matthew D. Fuller wrote:
Important to note is that this only happens when compiling with
optimization (they claim).
% cc -o test test.c
% ./test
X
% cc -O -o test test.c
% ./test
X
% cc -O2 -o test test.c
% ./test
%
gcc version 4.2.1 20070719 [FreeBSD]
I can confirm this on ubuntu:
gcc 4.1 w/o optimization:
no overflow (= fail)
gcc 4.1 w/o opt && -fwrapv:
overflow (= good)
gcc 4.2 w/o opt:
overflow
gcc 4.2 w/ opt:
no overflow
gcc 4.2 w/ opt && -fwrapv:
overflow
So no matter whether we upgrade gcc or not, we should change the default optimization to behave as if -fwrapv was passed. Or we emit warnings whenever this optimization is taking place. Or both :)
cheers
simon
--
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low â¬â¬â¬ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
More information about the Kernel
mailing list