MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

davepl
MAME Fan
Reged: 05/30/15
Posts: 4
Send PM


Cannot build MAME with symbols
#341697 - 06/21/15 01:38 AM


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



davepl
MAME Fan
Reged: 05/30/15
Posts: 4
Send PM


Re: Cannot build MAME with symbols new [Re: davepl]
#341698 - 06/21/15 01:52 AM


I'm wondering if perhaps symlevel, which defaults to 2, could be a problem. I really only need call stacks to survive. Globals would be nice, locals nice too, but just function names would be a start!



TafoidAdministrator
I keep on testing.. testing.. testing... into the future!
Reged: 04/19/06
Posts: 3137
Loc: USA
Send PM


Re: Cannot build MAME with symbols new [Re: davepl]
#341700 - 06/21/15 01:59 AM


> 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


Pages: 1

MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 392 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1216