-- Best regards, LIU Hao
From b8b2b024cde9fd66b2280cba7ed995771882b366 Mon Sep 17 00:00:00 2001 From: LIU Hao <lh_mo...@126.com> Date: Mon, 15 Apr 2024 23:30:50 +0800 Subject: [PATCH 1/2] crt/xaudio2_9: Fix export names of `X3DAudioCalculate` and `X3DAudioInitialize`
These are not `__stdcall` functions, but `__cdecl` ones. N.B. it was `__stdcall` in X3DAUDIO1_2. Signed-off-by: LIU Hao <lh_mo...@126.com> --- mingw-w64-crt/lib32/xaudio2_9.def | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-crt/lib32/xaudio2_9.def b/mingw-w64-crt/lib32/xaudio2_9.def index b283fab53..610271dc5 100644 --- a/mingw-w64-crt/lib32/xaudio2_9.def +++ b/mingw-w64-crt/lib32/xaudio2_9.def @@ -9,8 +9,8 @@ XAudio2Create@12 CreateAudioReverb@4 CreateAudioVolumeMeter@4 CreateFX@0 -X3DAudioCalculate@0 -X3DAudioInitialize@0 +X3DAudioCalculate +X3DAudioInitialize CreateAudioReverbV2_8@4 XAudio2CreateV2_9@12 XAudio2CreateWithVersionInfo@16 -- 2.44.0
From 357c980c8a7b472a8e115b7af942531be915242b Mon Sep 17 00:00:00 2001 From: LIU Hao <lh_mo...@126.com> Date: Mon, 15 Apr 2024 23:08:08 +0800 Subject: [PATCH 2/2] crt: Fix some symbols with duplicate stdcall suffixes Some of these functions, such as `ConvertAtJobsToTasks`, are exported with both undecorated and decorated names, respectively, `ConvertAtJobsToTasks` and `_ConvertAtJobsToTasks@0`. The decorated names are almost useless for C code anyway and are removed. Some other stdcall functions, such as `__fls_getvalue`, are only exported with decorated names. We have the macro `ADD_UNDERSCORE()` for them. This fixes errors like #include <stdio.h> #include <windows.h> /* This was `__stdcall` in X3DAUDIO1_2.DLL, and changed to `__cdecl` later. */ __declspec(dllimport) void __stdcall X3DAudioCalculate(void*, void*, void*, UINT, void*); int main(void) { printf("X3DAudioCalculate = %p\n", (void*)(INT_PTR) X3DAudioCalculate); } which used to result in test.c:(.text+0xf): undefined reference to `_imp__X3DAudioCalculate@20' Signed-off-by: LIU Hao <lh_mo...@126.com> --- mingw-w64-crt/def-include/func.def.in | 3 +++ mingw-w64-crt/def-include/msvcrt-common.def.in | 3 --- mingw-w64-crt/lib32/mstask.def | 13 ------------- mingw-w64-crt/lib32/msvcr100.def.in | 4 ++-- mingw-w64-crt/lib32/msvcr90.def.in | 4 ++-- mingw-w64-crt/lib32/msvcr90d.def.in | 4 ++-- mingw-w64-crt/lib32/msvcrt20.def.in | 2 +- mingw-w64-crt/lib32/t2embed.def | 11 ----------- mingw-w64-crt/lib32/usbd.def | 12 +++--------- mingw-w64-crt/lib32/x3daudio1_2.def | 11 ----------- mingw-w64-crt/lib32/x3daudio1_2.def.in | 6 ++++++ 11 files changed, 19 insertions(+), 54 deletions(-) delete mode 100644 mingw-w64-crt/lib32/x3daudio1_2.def create mode 100644 mingw-w64-crt/lib32/x3daudio1_2.def.in diff --git a/mingw-w64-crt/def-include/func.def.in b/mingw-w64-crt/def-include/func.def.in index 58cc36d86..c67b6efe1 100644 --- a/mingw-w64-crt/def-include/func.def.in +++ b/mingw-w64-crt/def-include/func.def.in @@ -55,3 +55,6 @@ #ifndef F_NON_I386 #define F_NON_I386(x) #endif + +#define ADD_UNDERSCORE(symbol) symbol == _ ## symbol +#define ADD_DOUBLE_UNDERSCORE(symbol) symbol == __ ## symbol diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index 9728b5ab8..80ce5e9fe 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -1,8 +1,5 @@ #include "func.def.in" -#define ADD_UNDERSCORE(symbol) symbol == _ ## symbol -#define ADD_DOUBLE_UNDERSCORE(symbol) symbol == __ ## symbol - ADD_DOUBLE_UNDERSCORE(iscsymf) ADD_DOUBLE_UNDERSCORE(iscsym) ADD_DOUBLE_UNDERSCORE(isascii) diff --git a/mingw-w64-crt/lib32/mstask.def b/mingw-w64-crt/lib32/mstask.def index 2cc5298e7..ba8f873a0 100644 --- a/mingw-w64-crt/lib32/mstask.def +++ b/mingw-w64-crt/lib32/mstask.def @@ -18,16 +18,3 @@ SAGetNSAccountInformation@12 SASetAccountInformation@20 SASetNSAccountInformation@12 SetNetScheduleAccountInformation@12 -_ConvertAtJobsToTasks@0@0 -_DllCanUnloadNow@0@0 -_DllGetClassObject@12@12 -_GetNetScheduleAccountInformation@12@12 -_NetrJobAdd@12@12 -_NetrJobDel@12@12 -_NetrJobEnum@20@20 -_NetrJobGetInfo@12@12 -_SAGetAccountInformation@16@16 -_SAGetNSAccountInformation@12@12 -_SASetAccountInformation@20@20 -_SASetNSAccountInformation@12@12 -_SetNetScheduleAccountInformation@12@12 diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in index e2e0e18c7..b802b288c 100644 --- a/mingw-w64-crt/lib32/msvcr100.def.in +++ b/mingw-w64-crt/lib32/msvcr100.def.in @@ -626,8 +626,8 @@ __daylight __dllonexit __doserrno __dstbias -___fls_getvalue@4@4 -___fls_setvalue@8@8 +ADD_UNDERSCORE(__fls_getvalue@4) +ADD_UNDERSCORE(__fls_setvalue@8) __fpecode __free_locale __get_current_locale diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in index 4424adfe5..1bc161a5f 100644 --- a/mingw-w64-crt/lib32/msvcr90.def.in +++ b/mingw-w64-crt/lib32/msvcr90.def.in @@ -230,8 +230,8 @@ __daylight __dllonexit __doserrno __dstbias -___fls_getvalue@4@4 -___fls_setvalue@8@8 +ADD_UNDERSCORE(__fls_getvalue@4) +ADD_UNDERSCORE(__fls_setvalue@8) __fpecode __free_locale __get_app_type diff --git a/mingw-w64-crt/lib32/msvcr90d.def.in b/mingw-w64-crt/lib32/msvcr90d.def.in index 2835301f0..61c63b65b 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def.in +++ b/mingw-w64-crt/lib32/msvcr90d.def.in @@ -270,8 +270,8 @@ __daylight __dllonexit __doserrno __dstbias -___fls_getvalue@4@4 -___fls_setvalue@8@8 +ADD_UNDERSCORE(__fls_getvalue@4) +ADD_UNDERSCORE(__fls_setvalue@8) __fpecode __free_locale __get_app_type diff --git a/mingw-w64-crt/lib32/msvcrt20.def.in b/mingw-w64-crt/lib32/msvcrt20.def.in index d2702db90..fc2965421 100644 --- a/mingw-w64-crt/lib32/msvcrt20.def.in +++ b/mingw-w64-crt/lib32/msvcrt20.def.in @@ -1168,7 +1168,7 @@ _rotl _rotr _scalb _searchenv -__seh_longjmp_unwind@4@4 +ADD_UNDERSCORE(_seh_longjmp_unwind@4) _seterrormode _setjmp _setjmp3 diff --git a/mingw-w64-crt/lib32/t2embed.def b/mingw-w64-crt/lib32/t2embed.def index f186061ee..77930644a 100644 --- a/mingw-w64-crt/lib32/t2embed.def +++ b/mingw-w64-crt/lib32/t2embed.def @@ -11,17 +11,6 @@ TTIsEmbeddingEnabled@8 TTIsEmbeddingEnabledForFacename@8 TTLoadEmbeddedFont@40 TTRunValidationTests@8 -_TTCharToUnicode@24@24 -_TTDeleteEmbeddedFont@12@12 -_TTEmbedFont@44@44 -_TTEmbedFontFromFileA@52@52 -_TTEnableEmbeddingForFacename@8@8 -_TTGetEmbeddedFontInfo@28@28 -_TTGetEmbeddingType@8@8 -_TTIsEmbeddingEnabled@8@8 -_TTIsEmbeddingEnabledForFacename@8@8 -_TTLoadEmbeddedFont@40@40 -_TTRunValidationTests@8@8 TTEmbedFontEx@44 TTRunValidationTestsEx@8 TTGetNewFontName@20 diff --git a/mingw-w64-crt/lib32/usbd.def b/mingw-w64-crt/lib32/usbd.def index 1b52c7c99..b14a76662 100644 --- a/mingw-w64-crt/lib32/usbd.def +++ b/mingw-w64-crt/lib32/usbd.def @@ -5,16 +5,15 @@ ; LIBRARY "USBD.SYS" EXPORTS -; USBD_CreateConfigurationRequestEx@8 -; USBD_ParseConfigurationDescriptorEx@28 -; USBD_ParseDescriptors@16 +USBD_CreateConfigurationRequestEx@8 +USBD_ParseConfigurationDescriptorEx@28 +USBD_ParseDescriptors@16 DllInitialize@4 DllUnload@0 USBD_AllocateDeviceName@4 USBD_CalculateUsbBandwidth@12 USBD_CompleteRequest@8 USBD_CreateConfigurationRequest@8 -; _USBD_CreateConfigurationRequestEx@8@8 USBD_CreateDevice@20 USBD_Debug_GetHeap@16 USBD_Debug_LogEntry@16 @@ -30,8 +29,6 @@ USBD_GetUSBDIVersion@4 USBD_InitializeDevice@24 USBD_MakePdoName@8 USBD_ParseConfigurationDescriptor@12 -; _USBD_ParseConfigurationDescriptorEx@28@28 -; _USBD_ParseDescriptors@16@16 USBD_QueryBusTime@8 USBD_RegisterHcDeviceCapabilities@12 USBD_RegisterHcFilter@8 @@ -40,6 +37,3 @@ USBD_RemoveDevice@12 USBD_RestoreDevice@12 USBD_SetSuspendPowerState@8 USBD_WaitDeviceMutex@4 -USBD_CreateConfigurationRequestEx@8==_USBD_CreateConfigurationRequestEx@8 -USBD_ParseConfigurationDescriptorEx@28==_USBD_ParseConfigurationDescriptorEx@28 -USBD_ParseDescriptors@16==_USBD_ParseDescriptors@16 diff --git a/mingw-w64-crt/lib32/x3daudio1_2.def b/mingw-w64-crt/lib32/x3daudio1_2.def deleted file mode 100644 index fb34ad0d0..000000000 --- a/mingw-w64-crt/lib32/x3daudio1_2.def +++ /dev/null @@ -1,11 +0,0 @@ -; -; Definition file of X3DAudio1_2.dll -; Automatic generated by gendef -; written by Kai Tietz 2008 -; -LIBRARY "X3DAudio1_2.dll" -EXPORTS -;_X3DAudioCalculate@20@20 -;_X3DAudioInitialize@12@12 -_X3DAudioCalculate@20 == _X3DAudioCalculate@20 -_X3DAudioInitialize@12 == _X3DAudioInitialize@12 diff --git a/mingw-w64-crt/lib32/x3daudio1_2.def.in b/mingw-w64-crt/lib32/x3daudio1_2.def.in new file mode 100644 index 000000000..ce617f9c9 --- /dev/null +++ b/mingw-w64-crt/lib32/x3daudio1_2.def.in @@ -0,0 +1,6 @@ +#include "func.def.in" + +LIBRARY "X3DAudio1_2.dll" +EXPORTS +ADD_UNDERSCORE(X3DAudioCalculate@20) +ADD_UNDERSCORE(X3DAudioInitialize@12) -- 2.44.0
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public