Hi,
by simple comparison I decided to find out why the 64 bit version of the Microsoft linker does not work, I make an empty project, with hope the whole difference will be visible, PDB processing stops here -Ln 2816
00 00 00 00 00 00
FF FF FF FF 1A 09 2F F1 48 00 00 00 28 02 00 00
F9 00 00 00 01 00 00 00 55 01 00 00 01 00 00 00
71 01 00 00 01 00 00 00 09 01 00 00 01 00 00 00
C5 00 00 00 01 00 00 00 39 01 00 00 01 00 00 00
8D 01 00 00 01 00 00 00 29 01 00 00 01 00 00 00
E1 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00
the logic is
mywindow1.pdb_ml_link_x64 - ml64 & link64 - Ok
mywindow1.pdb_uasm64_bad_x64_linker - uasm64 & link64 - mywindow1.obj : fatal error LNK1318: Unexpected PDB error; OK (0) ''
mywindow1.pdb_uasm64_x32_Link - uasm64 & link32 - Ok
Where
mywindow1.pdb_uasm64_x32_Link
and
mywindow1.pdb_ml_link_x64,
different in content :icon_rolleyes:, after that I compared jwasm64 and ml64, this bug or structure change is already present there, the size of the object files is the same, I decided to debug a bit, the place with a fatal error occurs at the first pass in the procedure
00007FF78240A2EF | 48 8B CE | MOV RCX, RSI |
00007FF78240A2F2 | E8 85 06 01 00 | CALL <link.IMAGE::FPdbEarlyTypeMerge> |
00007FF78240A2F7 | 84 C0 | TEST AL, AL |
00007FF78240A2F9 | 0F 85 67 04 00 00 | JNE link.7FF78240A766 |
00007FF782435994 <link.AppendOp> | 40 53 | PUSH RBX |
00007FF782435996 | 48 83 EC 30 | SUB RSP, 30 |
00007FF78243599A | 44 8B 02 | MOV R8D, DWORD PTR DS:[RDX] |
00007FF78243599D | 48 8B D9 | MOV RBX, RCX |
00007FF7824359A0 | 44 88 4C 24 20 | MOV BYTE PTR SS:[RSP + 20], R9B |
00007FF7824359A5 | E8 36 44 FE FF | CALL <link.CTaskQueue::Append> |
00007FF7824359AA | 83 F8 01 | CMP EAX, 1 |
00007FF7824359AD | 0F 84 9F B4 03 00 | JE link.7FF782470E52 |
00007FF7824359B3 | 48 83 C4 30 | ADD RSP, 30 |
00007FF7824359B7 | 5B | POP RBX |
00007FF7824359B8 | C3 | RET
Append failed :( Maybe someone has an idea, how to approach the problem from the other side :idea: