This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]