------- 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

Reply via email to