Tue 22 Sep 2009 07:16:28 AM UTC, comment #2:
Hello Bruno,
I've done some testing (not exacly debugging) this morning and I see that with -O2 it fails, but with -O1, -O3 or with -O1 wit the -O2 -f<foo> options enabled it works.
So I think we can assume that this is in fact a GCC bug, right?
Output:
~/libsigsegv-test/libsigsegv-2.7/tests :) $ rm stackoverflow2.o stackoverflow2 ; gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O1 -falign-jumps -falign-labels -falign-loops -fcaller-savees -fcrossjumping -fcse-follow-jumps -fdelete-null-pointer-checks -fexpensive-optimizations -fforward-propagate -finline-small-functions -foptimize-register-move -foptimize-sibling-calls -fpeephole2 -freggmove -freorder-blocks -freorder-functions -fschedule-insns2 -fstrict-aliasing -fthread-jumps -ftree-pre -ftree-store-ccp -fno-tree-vrp -c stackoverflow2.c && gcc-4.1 -g -O2 -o stackoverflow2 stackoverfllow2.o ../src/.libs/libsigsegv.a -lc ; ./stackoverflow2
Starting recursion pass 1.
Stack overflow 1 caught.
Starting recursion pass 2.
Stack overflow 2 caught.
Segmentation violation correctly detected.
Segmentation violation correctly detected.
Test passed.
~/libsigsegv-test/libsigsegv-2.7/tests :) $ rm stackoverflow2.o stackoverflow2 ; gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O1 -c stackoverflow2.c && gcc-4.1 -g -O2 -o stackoverflow2 stackoverfllow2.o ../src/.libs/libsigsegv.a -lc ; ./stackoverflow2
Starting recursion pass 1.
Stack overflow 1 caught.
Starting recursion pass 2.
Stack overflow 2 caught.
Segmentation violation correctly detected.
Segmentation violation correctly detected.
Test passed.
~/libsigsegv-test/libsigsegv-2.7/tests :) $ rm stackoverflow2.o stackoverflow2 ; gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O3 -c stackoverflow2.c && gcc-4.1 -g -O2 -o stackoverflow2 stackoverfllow2.o ../src/.libs/libsigsegv.a -lc ; ./stackoverflow2
Starting recursion pass 1.
Stack overflow 1 caught.
Starting recursion pass 2.
Stack overflow 2 caught.
Segmentation violation correctly detected.
Segmentation violation correctly detected.
Test passed.
~/libsigsegv-test/libsigsegv-2.7/tests :) $ rm stackoverflow2.o stackoverflow2 ; gcc -DHAVE_CONFIG_H -I. -I.. -I../src -g -O2 -c stackoverflow2.c && gcc-4.1 -g -O2 -o stackoverflow2 stackoverfllow2.o ../src/.libs/libsigsegv.a -lc ; ./stackoverflow2
Starting recursion pass 1.
Stack overflow 1 caught.
Starting recursion pass 2.
Stack overflow 2 caught.
Segmentation fault
|