[Bug c++/33800] ICE-on-valid (segfault) on x86-64

2007-10-17 Thread lloyd at randombit dot net


--- Comment #1 from lloyd at randombit dot net  2007-10-17 16:06 ---
Created an attachment (id=14363)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14363action=view)
Testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33800



[Bug c++/33800] ICE-on-valid (segfault) on x86-64

2007-10-17 Thread lloyd at randombit dot net


--- Comment #2 from lloyd at randombit dot net  2007-10-17 16:48 ---
Backtrace (command line args for cc1plus chosen by stracing g++)

$ gdb /home/jack/opt/libexec/gcc/x86_64-unknown-linux-gnu/4.3.0/cc1plus
Using host libthread_db library /lib64/libthread_db.so.1.
(gdb) run -fpreprocessed seed.i -quiet -dumpbase seed.i -mtune=generic
-auxbase-strip seed.o -O1 -fpic -o /tmp/whatever.o
Starting program:
/home/jack/opt/libexec/gcc/x86_64-unknown-linux-gnu/4.3.0/cc1plus
-fpreprocessed seed.i -quiet -dumpbase seed.i -mtune=generic -auxbase-strip
seed.o -O1 -fpic -o /tmp/whatever.o

Program received signal SIGSEGV, Segmentation fault.
0x007a94f5 in reload_as_needed (live_known=1) at
../../gcc-4.3-20070907/gcc/reload1.c:4161
4161  if (p != insn  INSN_P (p)
(gdb) backtrace 
#0  0x007a94f5 in reload_as_needed (live_known=1) at
../../gcc-4.3-20070907/gcc/reload1.c:4161
#1  0x007acb61 in reload (first=0x2b0f45955680, global=1) at
../../gcc-4.3-20070907/gcc/reload1.c:1146
#2  0x00b39c96 in rest_of_handle_global_alloc () at
../../gcc-4.3-20070907/gcc/global.c:683
#3  0x00761961 in execute_one_pass (pass=0x1001b60) at
../../gcc-4.3-20070907/gcc/passes.c:1115
#4  0x00761b40 in execute_pass_list (pass=0x1001b60) at
../../gcc-4.3-20070907/gcc/passes.c:1168
#5  0x00761b55 in execute_pass_list (pass=0xffd5a0) at
../../gcc-4.3-20070907/gcc/passes.c:1169
#6  0x0083de10 in tree_rest_of_compilation (fndecl=0x2b0f457c8400) at
../../gcc-4.3-20070907/gcc/tree-optimize.c:404
#7  0x009acb80 in cgraph_expand_function (node=0x2b0f45810700) at
../../gcc-4.3-20070907/gcc/cgraphunit.c:1077
#8  0x009aee20 in cgraph_optimize () at
../../gcc-4.3-20070907/gcc/cgraphunit.c:1146
#9  0x004aafed in cp_write_global_declarations () at
../../gcc-4.3-20070907/gcc/cp/decl2.c:3302
#10 0x007e48b7 in toplev_main (argc=Variable argc is not available.
) at ../../gcc-4.3-20070907/gcc/toplev.c:1058
#11 0x003a3d61c784 in __libc_start_main () from /lib64/libc.so.6
#12 0x00403d79 in _start ()
#13 0x7fb66e48 in ?? ()
#14 0x in ?? ()
(gdb) print p
$1 = 0x0
(gdb) print insn
$2 = 0x2b0f459890f0
(gdb) print *insn
$3 = {code = INSN, mode = VOIDmode, jump = 0, call = 0, unchanging = 0, volatil
= 0, in_struct = 0, used = 0, frame_related = 0, return_val = 0, u = {fld =
{{rt_int = 15, rt_uint = 15, rt_str = 0xafafafaf000f Address
0xafafafaf000f out of bounds, 
rt_rtx = 0xafafafaf000f, rt_rtvec = 0xafafafaf000f, rt_type =
HImode, rt_addr_diff_vec_flags = {min_align = 15, base_after_vec = 0,
min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0,
offset_unsigned = 0, scale = 0}, 
rt_cselib = 0xafafafaf000f, rt_bit = 0xafafafaf000f, rt_tree =
0xafafafaf000f, rt_bb = 0xafafafaf000f, rt_mem = 0xafafafaf000f,
rt_reg = 0xafafafaf000f, rt_constant = 0xafafafaf000f}}, hwint =
{-5787213829993660401}, 
block_sym = {fld = {{rt_int = 15, rt_uint = 15, rt_str = 0xafafafaf000f
Address 0xafafafaf000f out of bounds, rt_rtx = 0xafafafaf000f,
rt_rtvec = 0xafafafaf000f, rt_type = HImode, rt_addr_diff_vec_flags =
{min_align = 15, 
base_after_vec = 0, min_after_vec = 0, max_after_vec = 0,
min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0},
rt_cselib = 0xafafafaf000f, rt_bit = 0xafafafaf000f, rt_tree =
0xafafafaf000f, rt_bb = 0xafafafaf000f, 
  rt_mem = 0xafafafaf000f, rt_reg = 0xafafafaf000f, rt_constant
= 0xafafafaf000f}, {rt_int = 1167626240, rt_uint = 1167626240, rt_str =
0x2b0f45989000 \005, rt_rtx = 0x2b0f45989000, rt_rtvec = 0x2b0f45989000,
rt_type = 1167626240, 
  rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0,
min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 1,
offset_unsigned = 0, scale = 152}, rt_cselib = 0x2b0f45989000, rt_bit =
0x2b0f45989000, rt_tree = 0x2b0f45989000, 
  rt_bb = 0x2b0f45989000, rt_mem = 0x2b0f45989000, rt_reg =
0x2b0f45989000, rt_constant = 0x2b0f45989000}, {rt_int = 1157078704, rt_uint =
1157078704, rt_str = 0x2b0f44f79eb0 \005, rt_rtx = 0x2b0f44f79eb0, rt_rtvec =
0x2b0f44f79eb0, 
  rt_type = 1157078704, rt_addr_diff_vec_flags = {min_align = 176,
base_after_vec = 0, min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
max_after_base = 1, offset_unsigned = 0, scale = 247}, rt_cselib =
0x2b0f44f79eb0, rt_bit = 0x2b0f44f79eb0, 
  rt_tree = 0x2b0f44f79eb0, rt_bb = 0x2b0f44f79eb0, rt_mem =
0x2b0f44f79eb0, rt_reg = 0x2b0f44f79eb0, rt_constant = 0x2b0f44f79eb0}}, block
= 0x2b0f45948900, offset = -5787213829993660410}, rv = {cl = 3, decimal = 1,
sign = 1, signalling = 0, 
  canonical = 0, uexp = 0, sig = {47344592130048, 47344581582512,
47344591866112}}, fv = {data = {low = 12659530243715891215, high =
47344592130048}, mode = 1157078704}}}


-- 

lloyd at