Re: [Mingw-w64-public] [PATCH] crt: Add libopends60.a.
在 5/21/21 1:28 AM, Mark Harmstone 写道: This is the counterpart to srv.h, used to create extended stored procedures for MSSQL. Signed-off-by: Mark Harmstone --- mingw-w64-crt/lib32/Makefile.am | 1 + mingw-w64-crt/lib64/Makefile.am | 1 + mingw-w64-crt/lib64/opends60.def | 82 ++ 6 files changed, 148 insertions(+), 61 deletions(-) create mode 100644 mingw-w64-crt/lib64/opends60.def Did you forget the 32-bit DEF file? i686 symbols have specific decoration rules, therefore require distinct DEF files from those in 'lib-common'. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] crt: Implement `at_quick_exit()`
On Thu, 20 May 2021, Liu Hao wrote: 在 5/20/21 2:40 PM, Martin Storsjö 写道: Ok, fair enough, will do. What do you think about the change itself? The patch looks good itself. Thanks, pushed. // Martin ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 1/4] crt: Add libopends60.a.
I get where you're coming from, but I think it's even worse to include a header file without the corresponding LIB, which is the current situation. From what I gather, Microsoft have purposefully made this library hard to find, to discourage its use - their preferred method is CLR nowadays. That's the reason it's not in the SDK. I'd also point out that: * It's a one-off - it's the only instance I'm aware of where MS distributes the header file but not the library * It's ancient (2002?), so ongoing maintenance it's unlike to be an issue * It's tiny, and would be only one of about 1000 LIB files that mingw currently generates * This is the only way to get MSSQL to interface directly with native code Mark On 20/5/21 4:15 pm, Alexey Pavlov wrote: > I don’t think it is good idea provide library that not part of SDK. > > Regards, > Alexey ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] crt: Add libopends60.a.
This is the counterpart to srv.h, used to create extended stored procedures for MSSQL. Signed-off-by: Mark Harmstone --- mingw-w64-crt/lib32/Makefile.am | 1 + mingw-w64-crt/lib64/Makefile.am | 1 + mingw-w64-crt/lib64/opends60.def | 82 ++ 6 files changed, 148 insertions(+), 61 deletions(-) create mode 100644 mingw-w64-crt/lib64/opends60.def diff --git a/mingw-w64-crt/lib32/Makefile.am b/mingw-w64-crt/lib32/Makefile.am index 683618ade..37bd3ceb5 100644 --- a/mingw-w64-crt/lib32/Makefile.am +++ b/mingw-w64-crt/lib32/Makefile.am @@ -220,6 +220,7 @@ lib32_DATA += %reldir%/liboledlg.a lib32_DATA += %reldir%/libolepro32.a lib32_DATA += %reldir%/libolesvr32.a lib32_DATA += %reldir%/libolethk32.a +lib32_DATA += %reldir%/libopends60.a lib32_DATA += %reldir%/libopengl32.a lib32_DATA += %reldir%/libp2p.a lib32_DATA += %reldir%/libp2pcollab.a diff --git a/mingw-w64-crt/lib64/Makefile.am b/mingw-w64-crt/lib64/Makefile.am index 5d01aa702..349c2228d 100644 --- a/mingw-w64-crt/lib64/Makefile.am +++ b/mingw-w64-crt/lib64/Makefile.am @@ -448,6 +448,7 @@ lib64_DATA += %reldir%/libolecnv32.a lib64_DATA += %reldir%/liboledb32.a lib64_DATA += %reldir%/liboledlg.a lib64_DATA += %reldir%/libolesvr32.a +lib64_DATA += %reldir%/libopends60.a lib64_DATA += %reldir%/libopengl32.a lib64_DATA += %reldir%/libosuninst.a lib64_DATA += %reldir%/libpathcch.a diff --git a/mingw-w64-crt/lib-common/opends60.def b/mingw-w64-crt/lib-common/opends60.def new file mode 100644 index 0..28b064e58 --- /dev/null +++ b/mingw-w64-crt/lib-common/opends60.def @@ -0,0 +1,82 @@ +LIBRARY OPENDS60.dll +EXPORTS +ODS_init +srv_thread +int_getpOAInfo +int_setpOAInfo +srv_IgnoreAnsiToOem +srv_ackattention +srv_alloc +srv_ansi_describe +srv_ansi_paramdata +srv_ansi_sendmsg +srv_ansi_sendrow +srv_bmove +srv_bzero +srv_clearstatistics +srv_config +srv_config_alloc +srv_convert +srv_describe +srv_errhandle +srv_event +srv_eventdata +srv_flush +srv_free +srv_get_text +srv_getbindtoken +srv_getconfig +srv_getdtcxact +srv_getserver +srv_getuserdata +srv_got_attention +srv_handle +srv_impersonate_client +srv_init +srv_iodead +srv_langcpy +srv_langlen +srv_langptr +srv_log +srv_message_handler +srv_paramdata +srv_paraminfo +srv_paramlen +srv_parammaxlen +srv_paramname +srv_paramnumber +srv_paramset +srv_paramsetoutput +srv_paramstatus +srv_paramtype +srv_pfield +srv_pfieldex +srv_post_completion_queue +srv_post_handle +srv_pre_handle +srv_returnval +srv_revert_to_self +srv_rpcdb +srv_rpcname +srv_rpcnumber +srv_rpcoptions +srv_rpcowner +srv_rpcparams +srv_run +srv_senddone +srv_sendmsg +srv_sendrow +srv_sendstatistics +srv_sendstatus +srv_setcoldata +srv_setcollen +srv_setevent +srv_setuserdata +srv_setutype +srv_sfield +srv_symbol +srv_tdsversion +srv_terminatethread +srv_willconvert +srv_writebuf +srv_wsendmsg -- 2.26.3 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 1/4] crt: Add libopends60.a.
On 20/5/21 3:28 pm, Liu Hao wrote: > 在 2021-05-18 07:26, Mark Harmstone 写道: >> This is the counterpart to srv.h, used to create extended stored >> procedures for MSSQL. >> >> Signed-off-by: Mark Harmstone >> --- >> mingw-w64-crt/Makefile.in | 98 >> mingw-w64-crt/aclocal.m4 | 17 -- >> mingw-w64-crt/configure.ac | 10 ++-- >> mingw-w64-crt/lib32/Makefile.am | 1 + >> mingw-w64-crt/lib64/Makefile.am | 1 + >> mingw-w64-crt/lib64/opends60.def | 82 ++ >> 6 files changed, 148 insertions(+), 61 deletions(-) >> create mode 100644 mingw-w64-crt/lib64/opends60.def >> >> > > Did you forget the 32-bit DEF file? > > The hunk for `configure.ac` contains only whitespace changes, which I fixed > just now in repo. It shouldn't part of this patch. > > Crap, I sent you the wrong patch. Sorry. Resubmitting. ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] headers: Add missing APIs in wow64apiset.h.
在 2021-05-20 22:42, Biswapriyo Nath 写道: From dcbea6cc8937ca1bf169448f466c7e46f5f59ac0 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Thu, 20 May 2021 20:10:20 +0530 Subject: [PATCH] headers: Add missing APIs in wow64apiset.h. Signed-off-by: Biswapriyo Nath --- mingw-w64-headers/include/wow64apiset.h | 30 +++-- 1 file changed, 28 insertions(+), 2 deletions(-) Thanks. This patch looks good to me. I pushed it. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
在 2021-05-20 22:40, Jacek Caban 写道: We could #undef __cpuid just after including cpuid.h. Updated patch is attached. -- Best regards, Liu Hao From fb076cef964bfeb65c345535cceadadaff3e3ceb Mon Sep 17 00:00:00 2001 From: Liu Hao Date: Tue, 11 May 2021 00:39:58 +0800 Subject: [PATCH] include/intrin: Don't define `__cpuid` and `__cpuidex` for GCC 11 GCC has `__cpuid` as a macro. GCC 11 has `__cpuidex` as a static inline function taking the same arguments, but without any indicative macros. Reference: https://github.com/gcc-mirror/gcc/blob/23855a176609fe8dda6abaf2b21846b4517966eb/gcc/config/i386/cpuid.h#L333 Signed-off-by: Liu Hao --- mingw-w64-headers/crt/intrin.h | 4 mingw-w64-headers/include/psdk_inc/intrin-impl.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/mingw-w64-headers/crt/intrin.h b/mingw-w64-headers/crt/intrin.h index bdabaea3..fbfee5fd 100644 --- a/mingw-w64-headers/crt/intrin.h +++ b/mingw-w64-headers/crt/intrin.h @@ -67,6 +67,10 @@ extern "C" { #endif #include +#include + +/* Undefine the GCC one taking 5 parameters to prefer the mingw-w64 one. */ +#undef __cpuid /* Before 4.9.2, x86intrin.h had broken versions of these. */ #undef _lrotl diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h b/mingw-w64-headers/include/psdk_inc/intrin-impl.h index 27cc26ac..d59682c1 100644 --- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h +++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h @@ -1906,6 +1906,7 @@ void __cpuid(int CPUInfo[4], int InfoType) { #define __INTRINSIC_DEFINED___cpuid #endif /* __INTRINSIC_PROLOG */ +#if (!defined(__GNUC__) || __GNUC__ < 11) #if __INTRINSIC_PROLOG(__cpuidex) void __cpuidex(int CPUInfo[4], int, int); #if !__has_builtin(__cpuidex) @@ -1919,6 +1920,7 @@ void __cpuidex(int CPUInfo[4], int function_id, int subfunction_id) { #endif #define __INTRINSIC_DEFINED___cpuidex #endif /* __INTRINSIC_PROLOG */ +#endif /* __GNUC__ < 11 */ #if __INTRINSIC_PROLOG(__readmsr) __MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32); -- 2.31.1 OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 1/4] crt: Add libopends60.a.
I don’t think it is good idea provide library that not part of SDK. Regards, Alexey > 20 мая 2021 г., в 17:29, Liu Hao написал(а): > > 在 2021-05-18 07:26, Mark Harmstone 写道: >> This is the counterpart to srv.h, used to create extended stored >> procedures for MSSQL. >> Signed-off-by: Mark Harmstone >> --- >> mingw-w64-crt/Makefile.in| 98 >> mingw-w64-crt/aclocal.m4 | 17 -- >> mingw-w64-crt/configure.ac | 10 ++-- >> mingw-w64-crt/lib32/Makefile.am | 1 + >> mingw-w64-crt/lib64/Makefile.am | 1 + >> mingw-w64-crt/lib64/opends60.def | 82 ++ >> 6 files changed, 148 insertions(+), 61 deletions(-) >> create mode 100644 mingw-w64-crt/lib64/opends60.def >> > > Did you forget the 32-bit DEF file? > > The hunk for `configure.ac` contains only whitespace changes, which I fixed > just now in repo. It shouldn't part of this patch. > > > -- > Best regards, > Liu Hao > > ___ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] headers: Add missing APIs in wow64apiset.h.
From dcbea6cc8937ca1bf169448f466c7e46f5f59ac0 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Thu, 20 May 2021 20:10:20 +0530 Subject: [PATCH] headers: Add missing APIs in wow64apiset.h. Signed-off-by: Biswapriyo Nath --- mingw-w64-headers/include/wow64apiset.h | 30 +++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/mingw-w64-headers/include/wow64apiset.h b/mingw-w64-headers/include/wow64apiset.h index eefd694..b8fe3a6 100644 --- a/mingw-w64-headers/include/wow64apiset.h +++ b/mingw-w64-headers/include/wow64apiset.h @@ -17,11 +17,37 @@ extern "C" { #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) WINBASEAPI WINBOOL WINAPI Wow64DisableWow64FsRedirection (PVOID *OldValue); WINBASEAPI WINBOOL WINAPI Wow64RevertWow64FsRedirection (PVOID OlValue); -#endif + + WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR lpBuffer, UINT uSize); + WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR lpBuffer, UINT uSize); + #define GetSystemWow64Directory __MINGW_NAME_AW(GetSystemWow64Directory) + + #if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI Wow64GetThreadContext (HANDLE hThread, PWOW64_CONTEXT lpContext); + WINBASEAPI WINBOOL WINAPI Wow64SetThreadContext (HANDLE hThread, CONST WOW64_CONTEXT *lpContext); + WINBASEAPI DWORD WINAPI Wow64SuspendThread (HANDLE hThread); + #endif + + #if _WIN32_WINNT >= 0x0A00 + WINBASEAPI USHORT WINAPI Wow64SetThreadDefaultGuestMachine (USHORT Machine); + + WINBASEAPI UINT WINAPI GetSystemWow64Directory2A (LPSTR lpBuffer, UINT uSize, WORD ImageFileMachineType); + WINBASEAPI UINT WINAPI GetSystemWow64Directory2W (LPWSTR lpBuffer, UINT uSize, WORD ImageFileMachineType); + #define GetSystemWow64Directory2 __MINGW_NAME_AW(GetSystemWow64Directory2) + + WINBASEAPI HRESULT WINAPI IsWow64GuestMachineSupported (USHORT WowGuestMachine, WINBOOL *MachineIsSupported); + #endif + +#endif /* WINAPI_PARTITION_DESKTOP */ #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) WINBASEAPI WINBOOL WINAPI IsWow64Process (HANDLE hProcess, PBOOL Wow64Process); -#endif + + #if _WIN32_WINNT >= 0x0A00 + WINBASEAPI WINBOOL WINAPI IsWow64Process2 (HANDLE hProcess, USHORT *pProcessMachine, USHORT *pNativeMachine); + #endif + +#endif /* WINAPI_PARTITION_APP */ #ifdef __cplusplus } -- 2.31.1 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
On 5/20/21 4:37 PM, Liu Hao wrote: 在 2021-05-20 22:29, Jacek Caban 写道: On 5/20/21 4:21 PM, Liu Hao wrote: +#if (!defined(__GNUC__) || __GNUC__ < 11) __MACHINEI(void __cpuid(int a[4],int b)) +#endif __cpuid is a macro in both older GCCs and clang, so it will probably not work there. It's also present in intrin-impl.h. So what should we do? Can we just comment it out? We could #undef __cpuid just after including cpuid.h. Jacek ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
在 2021-05-20 22:29, Jacek Caban 写道: On 5/20/21 4:21 PM, Liu Hao wrote: +#if (!defined(__GNUC__) || __GNUC__ < 11) __MACHINEI(void __cpuid(int a[4],int b)) +#endif __cpuid is a macro in both older GCCs and clang, so it will probably not work there. It's also present in intrin-impl.h. So what should we do? Can we just comment it out? -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
On 5/20/21 4:21 PM, Liu Hao wrote: +#if (!defined(__GNUC__) || __GNUC__ < 11) __MACHINEI(void __cpuid(int a[4],int b)) +#endif __cpuid is a macro in both older GCCs and clang, so it will probably not work there. It's also present in intrin-impl.h. Jacek ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 1/4] crt: Add libopends60.a.
在 2021-05-18 07:26, Mark Harmstone 写道: This is the counterpart to srv.h, used to create extended stored procedures for MSSQL. Signed-off-by: Mark Harmstone --- mingw-w64-crt/Makefile.in| 98 mingw-w64-crt/aclocal.m4 | 17 -- mingw-w64-crt/configure.ac | 10 ++-- mingw-w64-crt/lib32/Makefile.am | 1 + mingw-w64-crt/lib64/Makefile.am | 1 + mingw-w64-crt/lib64/opends60.def | 82 ++ 6 files changed, 148 insertions(+), 61 deletions(-) create mode 100644 mingw-w64-crt/lib64/opends60.def Did you forget the 32-bit DEF file? The hunk for `configure.ac` contains only whitespace changes, which I fixed just now in repo. It shouldn't part of this patch. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
在 2021-05-20 21:58, Jacek Caban 写道: As far as I can see, cpuid.h is not included by any other header shipped with GCC. It means that with your changes, users will would need to start including it themselves in addition to intrin.h. For similar cases with other *intrin.h headers provided by GCC, we simply include them from intrin.h to avoid collisions. cpuid.h is risky in this regard, because it seems to provide way more than we want. But maybe that's fine... Inclusion of has revealed another issue: GCC 11 has `__cpuid` as a macro which causes errors like mingw-w64-headers/crt/intrin.h:1114:44: error: macro "__cpuid" requires 5 arguments, but only 2 given 1114 | __MACHINEI(void __cpuid(int a[4],int b)) |^ In file included from mingw-w64-headers/crt/intrin.h:70: C:/MSYS2/mingw64/lib/gcc/x86_64-w64-mingw32/11.1.1/include/cpuid.h:227: note: macro "__cpuid" defined here 227 | #define __cpuid(level, a, b, c, d) \ | mingw-w64-headers/crt/intrin.h:1114:21: error: '__cpuid' redeclared as different kind of symbol 1114 | __MACHINEI(void __cpuid(int a[4],int b)) | ^~~ mingw-w64-headers/crt/intrin.h:186:22: note: in definition of macro '__MACHINE' 186 | #define __MACHINE(X) X; | ^ mingw-w64-headers/crt/intrin.h:1114:5: note: in expansion of macro '__MACHINEI' 1114 | __MACHINEI(void __cpuid(int a[4],int b)) | ^~ In file included from mingw-w64-headers/crt/intrin.h:41: mingw-w64-headers/include/psdk_inc/intrin-impl.h:1899:6: note: previous definition of '__cpuid' with type 'void(int *, int)' 1899 | void __cpuid(int CPUInfo[4], int InfoType) { | ^~~ The attached patch adds the include and another guard for it. -- Best regards, Liu Hao From c321a21153678a2f1e54797d923ae56536382b86 Mon Sep 17 00:00:00 2001 From: Liu Hao Date: Tue, 11 May 2021 00:39:58 +0800 Subject: [PATCH] include/intrin: Don't define `__cpuid` and `__cpuidex` for GCC 11 GCC 11 has `__cpuid` as a macro, and has `__cpuidex` as a static inline function without any indicative macros. Reference: https://github.com/gcc-mirror/gcc/blob/23855a176609fe8dda6abaf2b21846b4517966eb/gcc/config/i386/cpuid.h#L333 Signed-off-by: Liu Hao --- mingw-w64-headers/crt/intrin.h | 3 +++ mingw-w64-headers/include/psdk_inc/intrin-impl.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/mingw-w64-headers/crt/intrin.h b/mingw-w64-headers/crt/intrin.h index bdabaea3..7b73b947 100644 --- a/mingw-w64-headers/crt/intrin.h +++ b/mingw-w64-headers/crt/intrin.h @@ -67,6 +67,7 @@ extern "C" { #endif #include +#include /* Before 4.9.2, x86intrin.h had broken versions of these. */ #undef _lrotl @@ -1110,7 +,9 @@ extern "C" { /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandreset64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ /* __MACHINEX64(__MINGW_EXTENSION unsigned char _interlockedbittestandcomplement64(__int64 *a,__int64 b)) moved to psdk_inc/intrin-impl.h */ +#if (!defined(__GNUC__) || __GNUC__ < 11) __MACHINEI(void __cpuid(int a[4],int b)) +#endif __MACHINEI(__MINGW_EXTENSION unsigned __int64 __readpmc(unsigned __LONG32 a)) __MACHINEI(unsigned __LONG32 __segmentlimit(unsigned __LONG32 a)) diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h b/mingw-w64-headers/include/psdk_inc/intrin-impl.h index 27cc26ac..d59682c1 100644 --- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h +++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h @@ -1906,6 +1906,7 @@ void __cpuid(int CPUInfo[4], int InfoType) { #define __INTRINSIC_DEFINED___cpuid #endif /* __INTRINSIC_PROLOG */ +#if (!defined(__GNUC__) || __GNUC__ < 11) #if __INTRINSIC_PROLOG(__cpuidex) void __cpuidex(int CPUInfo[4], int, int); #if !__has_builtin(__cpuidex) @@ -1919,6 +1920,7 @@ void __cpuidex(int CPUInfo[4], int function_id, int subfunction_id) { #endif #define __INTRINSIC_DEFINED___cpuidex #endif /* __INTRINSIC_PROLOG */ +#endif /* __GNUC__ < 11 */ #if __INTRINSIC_PROLOG(__readmsr) __MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32); -- 2.31.1 OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] headers: Add missing interfaces in mfidl.idl.
在 2021-05-20 01:33, Biswapriyo Nath 写道: ping! Thanks. This patch looks good to me. I pushed it to master. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 2/2] include/sspi.h: Add missing definitions.
在 2021-05-18 07:29, Mark Harmstone 写道: Signed-off-by: Mark Harmstone --- mingw-w64-headers/include/sspi.h | 425 ++- 1 file changed, 415 insertions(+), 10 deletions(-) Thanks. These patches look good to me. I pushed them to master, along with the one we discussed about yesterday. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
Hi Liu, On 5/10/21 6:45 PM, Liu Hao wrote: Subject: [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11 GCC 11 has this as a static inline function without any indicative macros. Reference:https://github.com/gcc-mirror/gcc/blob/23855a176609fe8dda6abaf2b21846b4517966eb/gcc/config/i386/cpuid.h#L333 As far as I can see, cpuid.h is not included by any other header shipped with GCC. It means that with your changes, users will would need to start including it themselves in addition to intrin.h. For similar cases with other *intrin.h headers provided by GCC, we simply include them from intrin.h to avoid collisions. cpuid.h is risky in this regard, because it seems to provide way more than we want. But maybe that's fine... Thanks, Jacek ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] include/intrin-impl: Don't define `__cpuidex` for GCC 11
ping. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] crt: Implement `at_quick_exit()`
在 5/20/21 2:40 PM, Martin Storsjö 写道: Ok, fair enough, will do. What do you think about the change itself? The patch looks good itself. -- Best regards, Liu Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] crt: Implement `at_quick_exit()`
On Thu, 20 May 2021, Liu Hao wrote: 在 5/20/21 3:53 AM, Martin Storsjö 写道: From: Liu Hao `at_quick_exit()` was added in 7dda261ef062073eed4ed5b46effa3edd4a658fc. However it is not exported from any DLL, so we have to implement it ourselves. This uses `_crt_at_quick_exit` to register functions to call if called from an EXE, but does nothing if called from a DLL. In a DLL, we can't unregister the callbacks if the DLL gets unloaded. This also matches actual observed behaviour when using `at_quick_exit` from a DLL when built with MSVC with the -MD option. --- I kept the original author line, I hope that's ok with you, let me know if you want me to reset it to my author name instead. Well I think you should. It was not I that composed the patch. :) Ok, fair enough, will do. What do you think about the change itself? // Martin ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public