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
--
2.8.1
------------------------------------------------------------------------------
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