I've got a cross-compiler of sorts built, although it doesn't install properly (seems to lack a libcrt.0). Anyway, using the version in gcc/ seems to work most of the time, but on some files it fails - e.g:
/home/root/cross/build-gcc/gcc/gpc-cross -c -w realreg.pas -o realreg.coff realreg.pas: In function `Proxysearch': realreg.pas:463: internal error--unrecognizable insn: (insn 8383 8380 1439 (set (mem:SI (plus:SI (reg:SI 14 r14) (const_int 65536))) (reg:SI 17 r17)) -1 (nil) (nil)) ../../../egcs-1.1.1/gcc/p/../toplev.c:1378: Internal compiler error in function fatal_insn
(the line in question is at the end of a function definition). I've set my path to point to /home/root/cross/build-gcc/gcc/ first; is it possible that something's ignoring the path and using the wrong backend? Does this look like a genuine compiler bug, or is it time for me to investigate that lack of a runtime? (Incidentally, the file in question compiles fine with a normal gpc, and twiddling optimisation levels can, in some cases, make the problem go away - but not in others).