[Bug target/34571] [4.3 Regression] Segfault in alpha_expand_mov at -O3
rask at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Dec 26 17:25:00 GMT 2007
------- 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
More information about the Gcc-bugs
mailing list