[Bug target/34042] New: Segfault in mips_cannot_change_mode_class
fxcoudert at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Nov 9 13:51:00 GMT 2007
$ cat foo.i
typedef long double Tal2ldouble __attribute__((aligned (2)));
struct S2015 { Tal2ldouble a; };
extern struct S2015 check2015 ();
extern void checkx2015 (struct S2015);
void test2015 (void) { checkx2015 (check2015 ()); }
boltzmann ~/devel/irun $ cat foo.i
typedef long double Tal2ldouble __attribute__((aligned (2)));
struct S2015 { Tal2ldouble a; };
extern struct S2015 check2015 ();
extern void checkx2015 (struct S2015);
void test2015 (void) { checkx2015 (check2015 ()); }
boltzmann ~/devel/irun $ ./bin/gcc foo.i
gcc: Internal error: Segmentation fault (program cc1)
$ ./bin/gcc foo.i
gcc: Internal error: Segmentation fault (program cc1)
The backtrace for the segfault is:
Program received signal SIGSEGV, Segmentation fault.
0x1014a75c in mips_cannot_change_mode_class (from=TImode, to=DImode,
class=FP_REGS) at ../../trunk/gcc/config/mips/mips.c:8732
8732 {
(gdb) bt
#0 0x1014a75c in mips_cannot_change_mode_class (from=TImode, to=DImode,
class=FP_REGS) at ../../trunk/gcc/config/mips/mips.c:8732
#1 0x104b7ef4 in simplify_subreg (outermode=DImode, op=0x40bb280,
innermode=TImode, byte=0) at ../../trunk/gcc/simplify-rtx.c:5021
#2 0x104b8bec in simplify_gen_subreg (outermode=TImode, op=0xa,
innermode=SImode, byte=0) at ../../trunk/gcc/simplify-rtx.c:5218
#3 0x1020d0a0 in emit_move_multi_word (mode=TImode, x=0x50e1660, y=0x40bb280)
at ../../trunk/gcc/expr.c:3265
#4 0x10209e50 in emit_move_insn (x=0x50e1660, y=0x40bb280)
at ../../trunk/gcc/expr.c:3408
#5 0x101aaef4 in copy_to_reg (x=0x40bb280) at ../../trunk/gcc/explow.c:617
#6 0x1018fc6c in operand_subword_force (op=0x40bb280, offset=0, mode=TImode)
at ../../trunk/gcc/emit-rtl.c:1448
#7 0x1020d2b0 in emit_move_multi_word (mode=TImode, x=0x50e1640, y=0x40bb280)
at ../../trunk/gcc/expr.c:3276
#8 0x10209e50 in emit_move_insn (x=0x50e1640, y=0x40bb280)
at ../../trunk/gcc/expr.c:3408
#9 0x101aaef4 in copy_to_reg (x=0x40bb280) at ../../trunk/gcc/explow.c:617
#10 0x1018fc6c in operand_subword_force (op=0x40bb280, offset=0, mode=TImode)
at ../../trunk/gcc/emit-rtl.c:1448
--
Summary: Segfault in mips_cannot_change_mode_class
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
GCC build triplet: mips-sgi-irix6.5
GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34042
More information about the Gcc-bugs
mailing list