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