This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: Use fixup_fallthru_exit_predecessor only for
- From: Andreas Schwab <schwab at suse dot de>
- To: Joern Rennecke <joern dot rennecke at superh dot com>
- Cc: dje at watson dot ibm dot com (David Edelsohn), amylaar at spamcop dot net (JoernRennecke), gcc-patches at gcc dot gnu dot org
- Date: Tue, 15 Jun 2004 15:26:55 +0200
- Subject: Re: RFA: Use fixup_fallthru_exit_predecessor only for
- References: <200406151307.i5FD7aj19117@linsvr1.uk.superh.com>
Joern Rennecke <joern.rennecke@superh.com> writes:
>> It's not enough, though. Even with this additional patch I still get a
>> segfault in the stage1 compiler on ia64:
>>
>> ./xgcc -B./ -B/usr/local/ia64-suse-linux/bin/ -isystem /usr/local/ia64-suse-linux/include -isystem /usr/local/ia64-suse-linux/sys-include -L/tmp/cvs/gcc-20040615/Build/gcc/../ld -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I../../gcc/../libbanshee/libcompat -I../../gcc/../libbanshee -I../../gcc/../libbanshee/points-to -DL_muldi3 -c ../../gcc/libgcc2.c -o libgcc/./_muldi3.o
>> ../../gcc/libgcc2.c: In function `__multi3':
>> ../../gcc/libgcc2.c:468: internal compiler error: Segmentation fault
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>> make[3]: *** [libgcc/./_muldi3.o] Error 1
>
> Are you sure this is still stage1? If a stage1 directory has already been
> populated, than ./xgcc is already the stage2 compliler.
Yes, you're right, it's the stage2 compiler. Which means the stage1
compiler miscompiled the stage2 compiler.
Program received signal SIGSEGV, Segmentation fault.
bitmap_clear_bit (head=0x600000000011fbc8, bit=Variable "bit" is not available.
) at ../../gcc/bitmap.c:323
323 for (element = head->current;
(gdb) l
318 element->prev != 0 && element->indx > indx;
319 element = element->prev)
320 ;
321
322 else
323 for (element = head->current;
324 element->next != 0 && element->indx < indx;
325 element = element->next)
326 ;
327
(gdb) p head
$1 = 0x600000000011fbc8
(gdb) p *$
$2 = {first = 0x60000000001479d0, current = 0x60000000001479e0, indx = 0,
using_obstack = 1}
(gdb) p *$.current
$3 = {next = 0x2, prev = 0x40, indx = 0, bits = {0, 6917529027642424480}}
(gdb) bt
#0 bitmap_clear_bit (head=0x600000000011fbc8, bit=Variable "bit" is not available.
) at ../../gcc/bitmap.c:323
#1 0x4000000000389620 in mark_set_1 (pbi=0x6000000000125310, code=Variable "code" is not available.
)
at ../../gcc/flow.c:2644
#2 0x400000000038e830 in propagate_one_insn (pbi=0x6000000000125310,
insn=0x200000000063d8b0) at ../../gcc/flow.c:1683
#3 0x400000000038ff20 in propagate_block (bb=0x2000000000569ce0,
live=0x200000000063d8b0, local_set=Variable "local_set" is not available.
) at ../../gcc/flow.c:2033
#4 0x4000000000391a60 in update_life_info (blocks=0x6000000000107a40,
extent=UPDATE_LIFE_GLOBAL_RM_NOTES, prop_flags=25) at ../../gcc/flow.c:1253
#5 0x4000000000393430 in update_life_info_in_dirty_blocks (
extent=UPDATE_LIFE_GLOBAL_RM_NOTES, prop_flags=25) at ../../gcc/flow.c:756
#6 0x4000000000717f20 in if_convert (x_life_data_ok=Variable "x_life_data_ok" is not available.
)
at ../../gcc/ifcvt.c:3350
#7 0x4000000000661a20 in rest_of_compilation (decl=0x20000000003d0380)
at ../../gcc/passes.c:1789
#8 0x4000000000128990 in tree_rest_of_compilation (fndecl=0x20000000003d0380,
nested_p=0 '\0') at ../../gcc/tree-optimize.c:590
#9 0x40000000000439d0 in c_expand_body (fndecl=0x20000000003d0380)
at ../../gcc/c-decl.c:6354
#10 0x400000000069b030 in cgraph_expand_function (node=0x2000000000530460)
at ../../gcc/cgraphunit.c:794
#11 0x400000000069e160 in cgraph_optimize () at ../../gcc/cgraphunit.c:1668
#12 0x40000000000c87a0 in c_objc_common_finish_file ()
at ../../gcc/c-objc-common.c:240
#13 0x4000000000019740 in finish_file () at ../../gcc/c-lang.c:213
#14 0x40000000000b5e70 in c_common_parse_file (set_yydebug=0)
at ../../gcc/c-opts.c:1241
#15 0x40000000005fa6f0 in toplev_main (argc=Variable "argc" is not available.
) at ../../gcc/toplev.c:960
#16 0x40000000000e6150 in main (argc=45, argv=0x60000fffffffa6a8)
at ../../gcc/main.c:35
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."