On 05/31/2016 05:42 PM, Hugo Beauzée-Luyssen wrote: > This exposes the WaitOnAddress, WakeByAddressAll and WakeByAddressSingle > functions > Adding those to kernel32.lib fails at runtime > --- > mingw-w64-crt/Makefile.am | 20 > ++++++++++++++++++-- > mingw-w64-crt/lib32/Makefile.am | 1 + > mingw-w64-crt/lib32/api-ms-win-core-synch-l1-2-0.def | 5 +++++ > mingw-w64-crt/lib32/synchronization.mri | 4 ++++ > mingw-w64-crt/lib64/api-ms-win-core-synch-l1-2-0.def | 5 +++++ > mingw-w64-crt/lib64/synchronization.mri | 4 ++++ > .../libarm32/api-ms-win-core-synch-l1-2-0.def | 5 +++++ > mingw-w64-crt/libarm32/kernel32.def | 3 +++ > 8 files changed, 45 insertions(+), 2 deletions(-) > create mode 100644 mingw-w64-crt/lib32/api-ms-win-core-synch-l1-2-0.def > create mode 100644 mingw-w64-crt/lib32/synchronization.mri > create mode 100644 mingw-w64-crt/lib64/api-ms-win-core-synch-l1-2-0.def > create mode 100644 mingw-w64-crt/lib64/synchronization.mri > create mode 100644 mingw-w64-crt/libarm32/api-ms-win-core-synch-l1-2-0.def > > diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am > index 0bfbb26..9c31cdb 100644 > --- a/mingw-w64-crt/Makefile.am > +++ b/mingw-w64-crt/Makefile.am > @@ -642,6 +642,11 @@ lib32/libruntimeobject.a: lib32/runtimeobject.mri > lib32/libapi-ms-win-core-winrt > $(AR) -M < $< > $(RANLIB) $@ > > +lib32/libsynchronization.a: lib32/synchronization.mri > lib32/libapi-ms-win-core-synch-l1-2-0.a > + rm -f $@ > + $(AR) -M < $< > + $(RANLIB) $@ > + > dx32_DATA = > dx32_DATA += lib32/libxinput.a > dx32_DATA += lib32/libxapofx.a > @@ -1145,7 +1150,8 @@ lib64_DATA = \ > lib64/libxaudio2_8.a lib64/libd3dcompiler_46.a lib64/libd3dcsx_46.a \ > lib64/libd3d11.a lib64/libd3dcompiler_47.a \ > lib64/libwinhttp.a \ > - lib64/libruntimeobject.a > + lib64/libruntimeobject.a \ > + lib64/libsynchronization.a > > if !W32API > lib64_DATA += lib64/libmsvcp60.a lib64/libmsvcr80.a lib64/libmsvcr90.a > lib64/libmsvcr100.a lib64/libmsvcr90d.a \ > @@ -1173,6 +1179,11 @@ lib64/libruntimeobject.a: lib64/runtimeobject.mri > lib64/libapi-ms-win-core-winrt > $(AR) -M < $< > $(RANLIB) $@ > > +lib64/libsynchronization.a: lib64/synchronization.mri > lib64/libapi-ms-win-core-synch-l1-2-0.a > + rm -f $@ > + $(AR) -M < $< > + $(RANLIB) $@ > + > dx64_DATA = > dx64_DATA += lib64/libxinput.a > dx64_DATA += lib64/libxapofx.a > @@ -1432,10 +1443,15 @@ libarm32/libruntimeobject.a: > libarm32/runtimeobject.mri libarm32/libapi-ms-win-c > $(AR) -M < $< > $(RANLIB) $@ > > +libarm32/libsynchronization.a: libarm32/synchronization.mri > libarm32/libapi-ms-win-core-synch-l1-2-0.a > + rm -f $@ > + $(AR) -M < $< > + $(RANLIB) $@ > + > dx32_DATA = > dx32_DATA += libarm32/libxinput.a > dx32_DATA += libarm32/libd3dcompiler.a > -libarm32_DATA += libarm32/libruntimeobject.a > +libarm32_DATA += libarm32/libruntimeobject.a libarm32/libsynchronization.lib > > libarm32/libxinput.a: libarm32/xinput1_4.def > $(DTDEFARM32) $< > diff --git a/mingw-w64-crt/lib32/Makefile.am b/mingw-w64-crt/lib32/Makefile.am > index 3182cca..856ec4e 100644 > --- a/mingw-w64-crt/lib32/Makefile.am > +++ b/mingw-w64-crt/lib32/Makefile.am > @@ -5,6 +5,7 @@ lib32_DATA += %reldir%/libadsldpc.a > lib32_DATA += %reldir%/libadvapi32.a > lib32_DATA += %reldir%/libapcups.a > lib32_DATA += %reldir%/libruntimeobject.a > +lib32_DATA += %reldir%/libsynchronization.a > lib32_DATA += %reldir%/libauthz.a > lib32_DATA += %reldir%/libavicap32.a > lib32_DATA += %reldir%/libavifil32.a > diff --git a/mingw-w64-crt/lib32/api-ms-win-core-synch-l1-2-0.def > b/mingw-w64-crt/lib32/api-ms-win-core-synch-l1-2-0.def > new file mode 100644 > index 0000000..cf2ed2f > --- /dev/null > +++ b/mingw-w64-crt/lib32/api-ms-win-core-synch-l1-2-0.def > @@ -0,0 +1,5 @@ > +LIBRARY "api-ms-win-core-synch-l1-2-0.dll" > +EXPORTS > +WaitOnAddress@16 > +WakeByAddressAll@4 > +WakeByAddressSingle@4 > diff --git a/mingw-w64-crt/lib32/synchronization.mri > b/mingw-w64-crt/lib32/synchronization.mri > new file mode 100644 > index 0000000..b9c1d28 > --- /dev/null > +++ b/mingw-w64-crt/lib32/synchronization.mri > @@ -0,0 +1,4 @@ > +CREATE lib32/libsynchronization.a > +ADDLIB lib32/libapi-ms-win-core-synch-l1-2-0.a > +SAVE > +END > diff --git a/mingw-w64-crt/lib64/api-ms-win-core-synch-l1-2-0.def > b/mingw-w64-crt/lib64/api-ms-win-core-synch-l1-2-0.def > new file mode 100644 > index 0000000..0af2ba9 > --- /dev/null > +++ b/mingw-w64-crt/lib64/api-ms-win-core-synch-l1-2-0.def > @@ -0,0 +1,5 @@ > +LIBRARY "api-ms-win-core-synch-l1-2-0.dll" > +EXPORTS > +WaitOnAddress > +WakeByAddressAll > +WakeByAddressSingle > diff --git a/mingw-w64-crt/lib64/synchronization.mri > b/mingw-w64-crt/lib64/synchronization.mri > new file mode 100644 > index 0000000..3389a9d > --- /dev/null > +++ b/mingw-w64-crt/lib64/synchronization.mri > @@ -0,0 +1,4 @@ > +CREATE lib64/libsynchronization.a > +ADDLIB lib64/libapi-ms-win-core-synch-l1-2-0.a > +SAVE > +END > diff --git a/mingw-w64-crt/libarm32/api-ms-win-core-synch-l1-2-0.def > b/mingw-w64-crt/libarm32/api-ms-win-core-synch-l1-2-0.def > new file mode 100644 > index 0000000..0af2ba9 > --- /dev/null > +++ b/mingw-w64-crt/libarm32/api-ms-win-core-synch-l1-2-0.def > @@ -0,0 +1,5 @@ > +LIBRARY "api-ms-win-core-synch-l1-2-0.dll" > +EXPORTS > +WaitOnAddress > +WakeByAddressAll > +WakeByAddressSingle > diff --git a/mingw-w64-crt/libarm32/kernel32.def > b/mingw-w64-crt/libarm32/kernel32.def > index 90ead6b..6846082 100644 > --- a/mingw-w64-crt/libarm32/kernel32.def > +++ b/mingw-w64-crt/libarm32/kernel32.def > @@ -1464,7 +1464,10 @@ WaitForThreadpoolWaitCallbacks > WaitForThreadpoolWorkCallbacks > WaitNamedPipeA > WaitNamedPipeW > +WaitOnAddress > WakeAllConditionVariable > +WakeByAddressSingle > +WakeByAddressAll > WakeConditionVariable > WerGetFlags > WerRegisterFile > Please ignore the first version, the arm additions were wrong. However I must confess this isn't tested on ARM.
------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
