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