[PATCH 0/1] MR7246: wdscore: Don't export C++ symbols.
Modern Windows versions do not export these symbols. The symbol `??0?$CDynamicArray(a)GPAG@QAE(a)I@Z` uses an unusual mangling scheme that no existing tool understands. This causes issues on ARM64EC, which requires demangling when generating an import library. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7246
From: Jacek Caban <jacek(a)codeweavers.com> Modern Windows versions do not export these symbols. The symbol ??0?$CDynamicArray(a)GPAG@QAE(a)I@Z uses an unusual mangling scheme that no existing tool understands. This causes issues on ARM64EC, which requires demangling when generating an import library. --- dlls/wdscore/wdscore.spec | 66 --------------------------------------- 1 file changed, 66 deletions(-) diff --git a/dlls/wdscore/wdscore.spec b/dlls/wdscore/wdscore.spec index 15958b86aba..928c91f1d8f 100644 --- a/dlls/wdscore/wdscore.spec +++ b/dlls/wdscore/wdscore.spec @@ -1,69 +1,3 @@ -@ stub ??0?$CDynamicArray(a)EPAE@@QAE(a)I@Z -@ stub ??0?$CDynamicArray(a)EPAUSkey@@@@QAE(a)I@Z -@ stub ??0?$CDynamicArray(a)EPAUSValue@@@@QAE(a)I@Z -@ stub ??0?$CDynamicArray(a)GPAG@QAE(a)I@Z -@ stub ??0?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAE(a)I@Z -@ stub ??0?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAE(a)I@Z -@ stub ??0?$CDynamicArray(a)_KPA_K@@QAE(a)I@Z -@ stub ??1?$CDynamicArray(a)EPAE@@QAE(a)XZ -@ stub ??1?$CDynamicArray(a)EPAUSKey@@@@QAE(a)XZ -@ stub ??1?$CDynamicArray(a)EPAUSValue@@@@QAE(a)XZ -@ stub ??1?$CDynamicArray(a)GPAG@@QAE(a)XZ -@ stub ??1?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAE(a)XZ -@ stub ??1?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAE(a)XZ -@ stub ??4?$CDynamicArray(a)_KPA_K@@QAE(a)XZ -@ stub ??4?$CDynamicArray(a)EPAE@@QAEAAV(a)ABV@@Z -@ stub ??4?$CDynamicArray(a)EPAUSKey@@@@@QAEAAV0(a)ABV0@@Z -@ stub ??4?$CDynamicArray(a)EPAUSValue@@@@@QAEAAV0(a)ABV0@@Z -@ stub ??4?$CDynamicArray(a)GPAG@@QAEAAV(a)ABV@@Z -@ stub ??4?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAEAAV(a)ABV@@Z -@ stub ??4?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEAAV(a)ABV@@Z -@ stub ??4?$CDynamicArray(a)_KPA_K@@QAEAAV(a)ABV@@Z -@ stub ??A?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAEAAPAUSEnumBinContext@@I(a)Z -@ stub ??A?$CDynamicArray(a)_KPA_K@QAEAA_KI(a)Z -@ stub ??B?$CDynamicArray(a)EPAUSKey@@@@@QBEPAUSKey@@XZ -@ stub ??B?$CDynamicArray(a)EPAUSValue@@@@@QBEPAUSValue@@XZ -@ stub ??B?$CDynamicArray(a)GPAG@@QBEPAGXZ -@ stub ??C?$CDynamicArray(a)EPAUSKey@@@@@QBEPAUSKey@@XZ -@ stub ??C?$CDynamicArray(a)EPAUSValue@@@@@QBEPAUSValue@@XZ -@ stub ??_F?$CDynamicArray(a)EPAE@@QAEXXZ -@ stub ??_F?$CDynamicArray(a)EPAUSKey@@@@@QAEXXZ -@ stub ??_F?$CDynamicArray(a)EPAUSValue@@@@@QAEXXZ -@ stub ??_F?$CDynamicArray(a)GPAG@@QAEXXZ -@ stub ??_F?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAEXXZ -@ stub ??_F?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEXXZ -@ stub ??_F?$CDynamicArray(a)_KPA_K@@QAEXXZ -@ stub ?Add@?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAEHAAPAUSEnumBinContext@@@Z -@ stub ?Add@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEHAAUSKeeperEntry(a)CBlackboardFactory@@@Z -@ stub ?Add@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEHAAUSKeeperEntry(a)CBlackboardFactory@@AAI(a)Z -@ stub ?Add@?$CDynamicArray(a)_KPA_K@@QAEHAA_K(a)Z -@ stub ?ElementAt@?$CDynamicArray(a)GPAG@@QAEAAGI(a)Z -@ stub ?ElementAt@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEHAAUSKeeperEntry(a)CBlackboardFactory@@I(a)Z -@ stub ?GetBuffer@?$CDynamicArray(a)EPAE@@QAEPAEI(a)Z -@ stub ?GetBuffer@?$CDynamicArray(a)EPAUSValue@@@@QAEPAUSValue@@I(a)Z -@ stub ?GetBuffer@?$CDynamicArray(a)GPAG@@QAEPAGI(a)Z -@ stub ?GetSize@?$CDynamicArray(a)EPAE@@QBEIXZ -@ stub ?GetSize@?$CDynamicArray@@GPAG@@QBEIXZ -@ stub ?GetSize@?$CDynamicArray@@PAUSEnumBinContext@@PAPAU1@@@QBEIXZ -@ stub ?GetSize@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QBEIXZ -@ stub ?GetSize@?$CDynamicArray(a)_KPA_K@@QBEIXZ -@ stub ?Init@?$CDynamicArray(a)EPAE@@QBEIXZ -@ stub ?Init@?$CDynamicArray(a)EPAUSKey@@@@IAEXI(a)Z -@ stub ?Init@?$CDynamicArray(a)EPAUSValue@@@@IAEXI(a)Z -@ stub ?Init@?$CDynamicArray(a)GPAG@@IAEXI(a)Z -@ stub ?Init@?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1(a)IAEXI@Z -@ stub ?Init@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@IAEXI(a)Z -@ stub ?Init@?$CDynamicArray(a)_KPA_K@@IAEXI(a)Z -@ stub ?RemoveAll@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEXXZ -@ stub ?RemoveAll@?$CDynamicArray(a)_KPA_K@@QAEXXZ -@ stub ?RemoveItemFromTail@?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAEXXZ -@ stub ?SetSize@?$CDynamicArray(a)EPAE@@QAEHK(a)Z -@ stub ?SetSize@?$CDynamicArray(a)EPAUSKey@@@@QAEHK(a)Z -@ stub ?SetSize@?$CDynamicArray(a)EPAUSValue@@@@QAEHK(a)Z -@ stub ?SetSize@?$CDynamicArray(a)GPAG@@QAEHK(a)Z -@ stub ?SetSize@?$CDynamicArray(a)PAUSEnumBinContext@@PAPAU1@@@QAEHK(a)Z -@ stub ?SetSize@?$CDynamicArray(a)USKeepEntry@CBlackboardFactory@@PAU12@@@QAEHK(a)Z -@ stub ?SetSize@?$CDynamicArray(a)_KPA_K@@AEHK(a)Z @ stub WdsGetPointer #@ extern g_Kernel32 #@ extern g_bEnableDiagnosticMode -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7246
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details: The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=151201 Your paranoid android. === debian11b (64 bit WoW report) === mf: mf.c:6536: Test failed: Test 3: Unexpected hr 0xc00d36b2. user32: input.c:4306: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 00000000027400EE, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032
Just to add some more information, the problematic function was exported on Windows 7 as: ??0?$CDynamicArray(a)GPAG@@QAE(a)I@Z so it looks like a typo in our spec file. Anyway, I think it's reasonable to remove the exports. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7246#note_93426
participants (4)
-
Jacek Caban -
Jacek Caban (@jacek) -
Marvin -
Piotr Caban (@piotr)