While building an application with the CVS HEAD of msp430-gcc 3.2.3, I
get a segmentation fault in followed_compare_condition, line 6164.

I know pretty much nothing about GCC, but running GDB on cc1, it
appears that GET_CODE(pat) is PARALLEL, which then causes corruption
in SET_SRC(pat), then causing XEXP(src,0) to die.  Changing the
if-statement above it to guard out PARALLEL as well as RETURN and
recompiling seems to allow my application to compile and apparently
run correctly.  But, since I don't know GCC, I have no idea how broken
this fix may actually be.  Like this

   if (GET_CODE (pat) == RETURN || GET_CODE (pat) == PARALLEL)
       return UNKNOWN;

I'm running msp430-gcc in Cygwin as part of TinyOS.  I built the
mspgcc toolchain with a script that I wrote called build-mspgcc (works
in Cygwin, Linux, and I think Darwin).  Fwiw, for the curious, that
script is here

http://tinyos.cvs.sourceforge.net/tinyos/tinyos-1.x/tools/src/mspgcc/build-mspgcc?revision=HEAD&view=markup

Thanks, best,
Cory

Reply via email to