When building a Windows snaoshot on my Debian GNU/Linux amd64 testing system from the nativecrosstools branch (i.e. using the MinGW from Debian), I get a segfault in building the regression tests for mos65c02:
sdcc-builder@notebook6:~/build/sdcc-build/i686-w64-mingw32.build/sdcc/support/regression$ wine sdcc --fverbose-asm -DNO_VARARGS -I/home/sdcc-builder/build/sdcc-build/orig/sdcc -mmos65c02 --less-pedantic --code-loc 0x8000 --xram-loc 0x0200 --i-code-in-asm --opt-code-speed -I/home/sdcc-builder/build/sdcc-build/orig/sdcc/support/regression/fwk/include -I/home/sdcc-builder/build/sdcc-build/orig/sdcc/support/regression/tests -I/home/sdcc-builder/build/sdcc-build/orig/sdcc/device/include -c /home/sdcc-builder/build/sdcc-build/orig/sdcc/support/regression/fwk/lib/testfwk.c -o gen/uc65c02/testfwk.rel
008c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
008c:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
008c:err:systray:initialize_systray Could not create tray window
Caught signal 11: SIGSEGV
Using gdb, I found that apparently an iTemp was neither spilt, nor had registers assigned:
sdcc-builder@notebook6:~/build/sdcc-build/i686-w64-mingw32.build/sdcc/support/regression$ winedbg --gdb sdcc --fverbose-asm -DNO_VARARGS -I/home/sdcc-builder/build/sdcc-build/orig/sdcc -mmos65c02 --less-pedantic --code-loc 0x8000 --xram-loc 0x0200 --i-code-in-asm --opt-code-speed -I/home/sdcc-builder/build/sdcc-build/orig/sdcc/support/regression/fwk/include -I/home/sdcc-builder/build/sdcc-build/orig/sdcc/support/regression/tests -I/home/sdcc-builder/build/sdcc-build/orig/sdcc/device/include -c /home/sdcc-builder/build/sdcc-build/orig/sdcc/support/regression/fwk/lib/testfwk.c -o gen/uc65c02/testfwk.rel
[…]
Wine-gdb> continue
Continuing.
Program received signal SIGSEGV, Segmentation fault.
aopOp (op=op@entry=0x9cb7888, ic=ic@entry=0x9cf1b50) at /home/sdcc-builder/build/sdcc-build/orig/sdcc/src/mos6502/gen.c:3314
3314 aop->regmask |= sym->regs[i]->mask;
Wine-gdb> print sym->regs
$1 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
Wine-gdb> print sym->isspilt
$2 = 0
Wine-gdb> print sym->name
$3 = "iTemp15", '\000' <repeats 249 times>
Wine-gdb> frame 1
#1 0x0078c920 in genPointerSet (ic=0x9cf1b50) at /home/sdcc-builder/build/sdcc-build/orig/sdcc/src/mos6502/gen.c:9598
9598 aopOp (right, ic);
Wine-gdb> print ic->key
$4 = 36