Non devi modificare il compilatore (ci mancherebbe) ... devi modificare l'opzione riguardante lo spazio riservato allo stack dal linker.

Anche se, riscrivendolo in maniera iterativa e non ricorsiva, risolvi comunque ed eviti questi problemi.

P.S. Per il tuo compilatore potresti provare a modificare, all'inizio del codice, la variabile locale che determina lo spazio dello stack

unsigned _stklen = 1048576 * 64;

e provare se il programma si ferma nello stesso punto ... (dovrebbe fermarsi dopo ...)