------- Comment #3 from rask at gcc dot gnu dot org 2007-12-26 17:25 ------- Created an attachment (id=14832) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14832&action=view) patch v1
(gdb) frame 1 #1 0x000000000096e248 in gen_movdi (operand0=0x2ac241e195e0, operand1=0x2ac241de1a10) at /n/12/rask/src/all/gcc/config/alpha/alpha.md:5704 (gdb) call debug_rtx(operand0) (reg:DI 2 $2) (gdb) call debug_rtx(operand1) (const:DI (plus:DI (label_ref:DI 70) (const_int 24 [0x18]))) In alpha_expand_mov(), we end up calling force_const_mem() because this is not a valid symbolic operand, but alpha_cannot_force_const_mem() thinks it is, so we end up with NULL_RTX and a segfault. Additionally there is a subtle little bug in varasm.c. Martin, please try this patch. Also please bootstrap and test it for regressions if you have the time, because I don't have any Alpha hardware to do so myself. -- rask at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rask at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34571