> When I try (DEBUG=1 SYMBOLS=1) it makes it to the link stage, whether I'm builing 32 > or 64 bit, then dies. > > The linker (which at that point has allocated > 4G of memory!) eventually runs out of > memory and bails. > > Windows is 15M lines of code and I used to build that, so I'm pretty sure MAME can > build with symbols... but is there a trick I'm missing? > > Like I said, everything works perfectly up to the final link, so my environment must > be close to right...
It is being worked on and has been a problem since the new build system we adopted. For now, I'd suggest the following:
OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 DEBUG=1
The OPTIMIZE=3 will compact the binary and allow it to perform better as well as SYMLEVEL=1 (normally it is 2) will provided driver/line specific symbols in GDB backtraces, if needed, as well as productive stack crawls.
That is all I can suggest for now other than attempting smaller builds targeting specific drivers which such coding is being done right now in current GIT to allow the enduser to do.
EDIT: Followup.. It looks like the SUBTARGET could be used to make full symbols still as the files are large but don't hit that 32-bit limit, granted these compiles are for 64-bit but 32-bit shouldn't be any larger.
Current GIT for SUBTARGETS make the following:
SUBTARGET=mess 06/20/2015 09:33 PM 1,321,843,606 mess64d.exe 06/20/2015 09:33 PM 25,369,083 mess64d.sym
SUBTARGET=arcade 06/20/2015 09:57 PM 1,796,665,761 mamearcade64d.exe 06/20/2015 09:57 PM 30,481,675 mamearcade64d.sym
|