This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Segmentation fault in flow_find_cross_jump
- From: Jan Hubicka <jh at suse dot cz>
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc-bugs at gcc dot gnu dot org, rth at redhat dot com, jh at suse dot cz
- Date: Tue, 18 Dec 2001 13:48:32 +0100
- Subject: Re: Segmentation fault in flow_find_cross_jump
- References: <200112172206.fBHM6rGT001547@hiauly1.hia.nrc.ca>
> With todays main on hppa2.0w-hp-hpux11.11, I get a segmentation fault
> in flow_find_cross_jump:
>
> stage1/xgcc -Bstage1/ -B/opt/gnu/hppa2.0w-hp-hpux11.11/bin/ -c -DIN_GCC -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include ../../gcc/cfgrtl.c -o cfgrtl.o
> ../../gcc/cfgrtl.c: In function `print_rtl_with_bb':
> ../../gcc/cfgrtl.c:1495: internal error: Segmentation fault
>
> The fault occurs in line 931:
>
> while (last2 != bb2->head && !active_insn_p (PREV_INSN (last2)))
> last2 = PREV_INSN (last2);
>
> because last2 is zero. bb2->end is:
>
> (jump_insn 624 223 224 (parallel[
> (set (pc)
> (if_then_else (eq (reg/v/f:SI 3 %r3 [95])
> (const_int 0 [0x0]))
> (label_ref 625)
> (pc)))
> (set (reg/v/f:SI 3 %r3 [96])
> (reg/v/f:SI 3 %r3 [95]))
> ] ) 299 {*pa.md:6641} (nil)
> (expr_list:REG_BR_PROB (const_int 1166 [0x48e])
> (nil)))
>
> So, onlyjump_p and returnjump_p are both false for i2. i1 and i2 don't
> match.
I am just working on that failure. I see that nononlyjump instructions are problem
(I guess the instruction is jumping to next one). I will send patch shortly once testing
complettes and I take a look at other failures the patch causes.
Honza
>
> Dave
> --
> J. David Anglin dave.anglin@nrc.ca
> National Research Council of Canada (613) 990-0752 (FAX: 952-6605)