[New port] segfault in copy_to_mode_reg(PSImode, NULL)

Ian Lance Taylor iant@google.com
Thu Jun 23 06:08:00 GMT 2011


Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com> writes:

> Is there a way to find which define_insn/define_expand/define_split is
> responsible for this NULL mem ?

Nothing other that debugging it.  Using -da to dump all the RTL passes
may help you identify where it first appears.  You'll probably have to
look closely, though, as a NULL rtx will most likely simply be omitted
from the dump.

Ian

> 2011/6/18 Ian Lance Taylor <iant@google.com>:
>> Aurelien BUHRIG <aurelien.buhrig.gcc@gmail.com> writes:
>>
>>> #0  0x000000000050b9e5 in copy_to_mode_reg (mode=PSImode, x=0x0) at
>>> <...>/src/gcc/explow.c:621
>>
>> x can not be NULL there.
>>
>>> #1  0x00000000005206d3 in set_storage_via_libcall (object=0x8a15ec0,
>>> size=0x88a1480, val=0x88a1400, tailcall=0 '\000') at
>>> <...>/src/gcc/expr.c:2644
>>
>> The line is
>>  object = copy_to_mode_reg (Pmode, XEXP (object, 0));
>> so it looks like XEXP (object, 0) is NULL, which is invalid.  Here
>> object is a MEM.  So you need to find out how you got a MEM with a NULL
>> address.
>>
>> Ian
>>



More information about the Gcc-help mailing list