------- Comment #11 from tbm at cyrius dot com  2006-06-02 18:47 -------
Falk's original testcase is baesd on a segfault while compiling qt4-x11.  I
just found another application, enigmail, which segfaults on Alpha (with the
same backtrace as in this PR).  The interesting observation is that enigmail
compiles fine with gcc 4.0 and 4.1 while the original test case segfaults on
4.0-4.2.  I don't know if this information is helpful but I thought it wouldn't
hurt to mention it.  I'll attach a test case based on the enigmail code which
only segfaults with gcc 4.2:

[EMAIL PROTECTED]:~/delta/bin$ g++ -c -fvisibility=hidden mini.c
mini.c: In constructor 'nsISupports::nsISupports()':
mini.c:21: 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.
[EMAIL PROTECTED]:~/delta/bin$ g++-4.0 -c -fvisibility=hidden mini.c
[EMAIL PROTECTED]:~/delta/bin$ g++-4.1 -c -fvisibility=hidden mini.c
[EMAIL PROTECTED]:~/delta/bin$

gdb:

Analyzing compilation unitPerforming intraprocedural optimizations
Assembling functions:
 nsACString_internal::nsACString_internal(char*, PRUint32, PRUint32)
nsCSubstring::nsCSubstring() nsCString::nsCString(const char*, PRUint32)
nsISupports::nsISupports()
Program received signal SIGSEGV, Segmentation fault.
validize_mem (ref=0x0) at /home/tbm/scratch/gcc/gcc/explow.c:529
529       if (!MEM_P (ref))
(gdb) where
#0  validize_mem (ref=0x0) at /home/tbm/scratch/gcc/gcc/explow.c:529
#1  0x084bf225 in alpha_expand_mov (mode=DImode, operands=0xafd3569c)
    at /home/tbm/scratch/gcc/gcc/config/alpha/alpha.c:2239
#2  0x083beb0b in gen_movdi (operand0=0x0, operand1=0x0) at alpha.md:5646
#3  0x0833f80d in emit_move_insn_1 (x=0xa7c7bd00, y=0xa7c7bcf0)
    at /home/tbm/scratch/gcc/gcc/expr.c:3187
#4  0x0833fc53 in emit_move_insn (x=0xa7c7bd00, y=<value optimized out>)
    at /home/tbm/scratch/gcc/gcc/expr.c:3278
#5  0x0831adb1 in force_reg (mode=DImode, x=0xa7c7bcf0) at
/home/tbm/scratch/gcc/gcc/explow.c:660
#6  0x084bbcf8 in alpha_legitimize_address (x=0xa7bcad18, scratch=0xa7c7bcd0,
mode=DImode)
    at /home/tbm/scratch/gcc/gcc/config/alpha/alpha.c:1030
#7  0x084bf0d8 in alpha_expand_mov (mode=DImode, operands=0xafd3588c)
    at /home/tbm/scratch/gcc/gcc/config/alpha/alpha.c:2207
#8  0x083beb0b in gen_movdi (operand0=0x0, operand1=0x0) at alpha.md:5646
#9  0x0833f80d in emit_move_insn_1 (x=0xa7c7bcd0, y=0xa7bcad18)
    at /home/tbm/scratch/gcc/gcc/expr.c:3187
#10 0x0833fc53 in emit_move_insn (x=0xa7c7bcd0, y=<value optimized out>)
    at /home/tbm/scratch/gcc/gcc/expr.c:3278
#11 0x08344a25 in store_expr (exp=0xa7cae240, target=<value optimized out>,
call_param_p=0)
    at /home/tbm/scratch/gcc/gcc/expr.c:4488
#12 0x0834604f in expand_assignment (to=0xa7c9f060, from=<value optimized out>)
    at /home/tbm/scratch/gcc/gcc/expr.c:4210
#13 0x083353ee in expand_expr_real_1 (exp=<value optimized out>,
target=0xa7bcc300,
    tmode=<value optimized out>, modifier=<value optimized out>, alt_rtl=0x0)
    at /home/tbm/scratch/gcc/gcc/expr.c:8539
#14 0x0833e75e in expand_expr_real (exp=0xa7c8dad4, target=0xa7bcc300,
tmode=VOIDmode,
    modifier=EXPAND_NORMAL, alt_rtl=0x0) at
/home/tbm/scratch/gcc/gcc/expr.c:6645
#15 0x08445865 in expand_expr_stmt (exp=0xa7c8dad4) at expr.h:494
#16 0x0848dc23 in expand_gimple_basic_block (bb=0xa7cb0420)
    at /home/tbm/scratch/gcc/gcc/cfgexpand.c:1368
#17 0x0848edc5 in tree_expand_cfg () at
/home/tbm/scratch/gcc/gcc/cfgexpand.c:1627
#18 0x0848b6f6 in execute_one_pass (pass=0x8679020) at
/home/tbm/scratch/gcc/gcc/passes.c:864
#19 0x0848b8e7 in execute_pass_list (pass=0x8679020) at
/home/tbm/scratch/gcc/gcc/passes.c:911
#20 0x081d22ba in tree_rest_of_compilation (fndecl=0xa7c97b00)
    at /home/tbm/scratch/gcc/gcc/tree-optimize.c:418
---Type <return> to continue, or q <return> to quit---
#21 0x08139685 in expand_body (fn=0xa7c97b00) at
/home/tbm/scratch/gcc/gcc/cp/semantics.c:3031
#22 0x084d2e74 in cgraph_expand_function (node=0xa7c92f50)
    at /home/tbm/scratch/gcc/gcc/cgraphunit.c:1108
#23 0x084d4427 in cgraph_optimize () at
/home/tbm/scratch/gcc/gcc/cgraphunit.c:1173
#24 0x080d759a in cp_finish_file () at
/home/tbm/scratch/gcc/gcc/cp/decl2.c:3112
#25 0x081a191f in c_common_parse_file (set_yydebug=0) at
/home/tbm/scratch/gcc/gcc/c-opts.c:1165
#26 0x08454b38 in toplev_main (argc=0, argv=0xafd36034) at
/home/tbm/scratch/gcc/gcc/toplev.c:999
#27 0xa7df6eb0 in __libc_start_main () from /lib/tls/libc.so.6
#28 0x08049c71 in _start () at ../sysdeps/i386/elf/start.S:119
(gdb)


-- 


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

Reply via email to