Exception Handling Broken in the Last 24 Hours

Ranjit Mathew rmathew@gmail.com
Thu May 27 10:07:00 GMT 2004


Ranjit Mathew wrote:

>     In the last 24 hours, exception handling seems to
> have broken at least as seen in testcases for Java
> on i686-pc-linux-gnu - most of them time out and FAIL.

All of the timing-out failures are fixed if I back out:

2004-05-27  Jan Hubicka  <jh@suse.cz>

        * i386.md (UNSPECV_EH_RETURN): Kill.
        (eh_return): Use jump_insn.
        (eh_return_si, eh_return_di): Change pattern to jump instruction.


This leaves only one more regression since yesterday:

  FAIL: PR4766 -O3 compilation from source

This is an ICE on "libjava/testsuite/libjava.compile/PR4766.java" when
compiled with O3 and looks like this:
---------------------------- 8< ----------------------------
(gdb) r
Starting program: /home/ranmath/src/gcc/build/gcc/jc1 PR4766.java -fhash-synchronization -fno-use-divide-subroutine -fuse-boehm-gc -fnon-call-exceptions -fno-omit-frame-pointer -fkeep-inline-functions -quiet -dumpbase PR4766.java -mtune=pentiumpro -auxbase PR4766 -O3 -o /tmp/ccMY5JGA.s

Program received signal SIGSEGV, Segmentation fault.
unchecked_make_edge (src=0xb73a1740, dst=0x0, flags=-1221045568)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/cfg.c:284
284       e->pred_next = dst->pred;
(gdb) bt
#0  unchecked_make_edge (src=0xb73a1740, dst=0x0, flags=-1221045568)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/cfg.c:284
#1  0x080f03a0 in cached_make_edge (edge_cache=0x0, src=0xb73a1740, dst=0x0,
    flags=10) at /home/ranmath/src/gcc/gcc-20040527/gcc/cfg.c:332
#2  0x080f0417 in make_edge (src=0xb73852ec, dest=0xb73852ec,
    flags=-1221045524) at /home/ranmath/src/gcc/gcc-20040527/gcc/cfg.c:346
#3  0x0809de70 in make_eh_edge (region=0xb73852ec, data=0xb73852ec)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/tree-eh.c:1644
#4  0x0813629f in add_reachable_handler (info=0xbfffd010, lp_region=Variable "lp
_region" is not available.
)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/except.c:2827
#5  0x081362dc in reachable_next_level (region=0xb739f5c0, type_thrown=0x0,
    info=0xbfffd010) at /home/ranmath/src/gcc/gcc-20040527/gcc/except.c:2964
#6  0x0813652b in foreach_reachable_handler (region_number=2, is_resx=false,
    callback=0xb73852ec, callback_data=0xb73852ec)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/except.c:3028
#7  0x0809debc in make_eh_edges (stmt=0xb73aa084)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/tree-eh.c:1666
#8  0x0809ad7d in execute_build_cfg ()
    at /home/ranmath/src/gcc/gcc-20040527/gcc/tree-cfg.c:559
#9  0x080a1c09 in execute_pass_list (pass=0x840c280)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/tree-optimize.c:406
#10 0x080a1c70 in execute_pass_list (pass=0x840c480)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/tree-optimize.c:436
---Type <return> to continue, or q <return> to quit---
#11 0x080a1ef6 in tree_rest_of_compilation (fndecl=0xb7429000, nested_p=false)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/tree-optimize.c:530
#12 0x08072487 in java_expand_body (fndecl=0xb73852ec)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/java/decl.c:1852
#13 0x083146a5 in cgraph_expand_function (node=0xb73ab5e4)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/cgraphunit.c:794
#14 0x0831506f in cgraph_optimize ()
    at /home/ranmath/src/gcc/gcc-20040527/gcc/cgraphunit.c:1668
#15 0x0808528d in java_parse_file (set_yydebug=0)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/java/jcf-parse.c:1123
#16 0x082d7935 in toplev_main (argc=3073921772, argv=0xbfffd564)
    at /home/ranmath/src/gcc/gcc-20040527/gcc/toplev.c:1653
#17 0xb74b1768 in __libc_start_main () from /lib/tls/libc.so.6
#18 0x08049aa1 in _start ()
(gdb)
---------------------------- 8< ----------------------------

Thanks,
Ranjit.

-- 
Ranjit Mathew          Email: rmathew AT gmail DOT com

Bangalore, INDIA.      Web: http://ranjitmathew.tripod.com/



More information about the Gcc mailing list