Previous Thread
Next Thread
Print Thread
Page 3 of 3 1 2 3
Joined: Apr 2006
Posts: 735
Senior Member
Offline
Senior Member
Joined: Apr 2006
Posts: 735
To follow up my process:
I installed the available package on mamedev.org and went through the key permissions and set up then set out to update everything as far as it could go:
- gcc (Rev3, Built by MSYS2 project) 12.1.0
- GNU ld (GNU Binutils) 2.39
- LLD 14.0.4

I was able to compile with the following MAKE:
> make -j17 -k ARCHOPTS=-fuse-ld=lld OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 STRIP_SYMBOLS=1 DEPRECATED=0 NOWERROR=1 REGENIE=1

The resulting binary looked ok, but the .sym file was nearly half the size as expected.
August 4 with 11.2 GCC/LD
08/04/2022 05:44 AM 296,114,176 mame64_0804.exe
08/04/2022 05:44 AM 155,286,526 mame64_0804.sym
August 7 with 12.1.0 GCC/LLD
08/07/2022 07:40 PM 293,597,696 mame64_0807.exe
08/07/2022 07:40 PM 89,710,043 mame64_0807.sym

I have no way of testing if this is a problem with the 12.1.0 GCC or the LLD for Windows.
Sadly, this is not an acceptable long term solution.

I tested the .sym file using the -profile command
> mame64_0807 pacman -profile 3 -bench 5
No routine names referenced at all.




Joined: Aug 2004
Posts: 1,457
Likes: 9
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,457
Likes: 9
Dumps only work correctly with GCC 11.2 from mamedev, or anything earlier. Using LD or LLD makes no difference to whether the dump works or not.

Joined: Jun 2001
Posts: 475
O
Senior Member
Offline
Senior Member
O
Joined: Jun 2001
Posts: 475
Ok, so it looks like adding some virtual members to the emumem objects blows some internal limit of ld. Great. The trick is, while that particular patch may not be necessary adding other members is going to be needed hopefully soon for wait state handling. So reverting could be an option now but that would just be delaying the inevitable...

Joined: Feb 2004
Posts: 2,383
Likes: 98
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,383
Likes: 98
I’m not sure it’s the size and/or number of symbols exceeding a limit – it could be that it’s just producing some symbol that upsets GNU ld and causes it to fail to correctly load other symbols or something. It only seems to be affecting that particular object – other members of libemu.a don’t seem to be affected. As I said before, submit a bug to the binutils people.

Someone other than me can work out what the issues producing symbol files with the output of newer compilers are. I’m not going to take responsibility for that part of the code.

Joined: Jun 2001
Posts: 475
O
Senior Member
Offline
Senior Member
O
Joined: Jun 2001
Posts: 475
Well, time to setup a VM with windows and see what's going on...

Joined: Aug 2004
Posts: 1,457
Likes: 9
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,457
Likes: 9
It just occurred to me, to ask why emumem was split up into so many pieces in the first place. I know there was a problem with too much something, but the details have been lost to the mists of time. Could it have been the same trouble with LD?

And if so, is there an issue with further splitting being done? It looks like only one of the files had a lot of code added, perhaps that could be split off?

Just a thought.

Joined: Feb 2004
Posts: 2,383
Likes: 98
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,383
Likes: 98
If all the emumem are in one file, besides using a lot of memory to compile, it hits the PE object file size limit. If that happens, you get a compile error.

Joined: Sep 2008
Posts: 86
J
Member
Offline
Member
J
Joined: Sep 2008
Posts: 86
Switched back to LD today and it worked for me, as it did for Robbbert.

Joined: Apr 2006
Posts: 746
D
Senior Member
OP Online Content
Senior Member
D
Joined: Apr 2006
Posts: 746
I just now tested it on my pc. Working. smile

I still using the lld.exe. Switched back to this after tested the ld.exe.

I moved git clean -d -f -X to it own bat file. Not needed really.


Windows 10 Home 64-bit / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 16 GB
Page 3 of 3 1 2 3

Link Copied to Clipboard
Who's Online Now
3 members (robcfg, Richard Bannister, Dorando), 19 guests, and 10 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,100
Posts119,251
Members5,019
Most Online890
Jan 17th, 2020
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com