On 6/9/25 11:02 PM, Brian Inglis via Cygwin-apps wrote:
On 2025-06-09 15:45, Brian Inglis via Cygwin-apps wrote:
On 2025-06-08 06:04, Jonathan Yong via Cygwin-announce wrote:
Now released for both 32bit and 64bit Cygwin:

Notable changes:
* Added import libraries for msvcr40d.dll, msvcrtd.dll, msvcr70d.dll, msvcr71d.dll, msvcr80d.dll, msvcr100d.dll, msvcr110d.dll. * Better CRT API consistency between UCRT and MSVCRT, making many APIs available to earlier versions of the MSVCR* runtime as well.
* CRTDLL stat API fixes.
* Updated Hyper-V headers.
* Synchronized with Wine headers (from Wine 10.9).
* Many other new win32 APIs.
* Fix _atexit call differing between DLLs and EXEs.
* Basic support for ARM64EC targets (arm64ec-w64-mingw32).
* Make it possible to build winpthreads with MSVC and clang-cl.
* Many small fixes for gendef, genidl and genpeimg.

We have reports of failing Cygwin builds after this update:

     https://cygwin.com/pipermail/cygwin-patches/2025q2/013754.html

Caused by changing the definition type to cmsghdr:

https://github.com/mingw-w64/mingw-w64/commit/ c3b5e71d54aa596bba9fb8ec7c1f9f712e7c616a

+    #if (_WIN32_WINNT >= 0x0600)
*    #define _WSACMSGHDR cmsghdr
+    #endif
+
       typedef struct _WSACMSGHDR {
         SIZE_T cmsg_len;
         INT cmsg_level;
         INT cmsg_type;More actions
       } WSACMSGHDR,*PWSACMSGHDR,*LPWSACMSGHDR;

$ grep -A8 '^struct\s\+cmsghdr' /usr/include/cygwin/socket.h
struct cmsghdr
{
   /* Amazing but true: The type of cmsg_len should be socklen_t but, just
      as on Linux, the definition of the kernel is incompatible with this,
      so the Windows socket headers define cmsg_len as SIZE_T. */
   size_t        cmsg_len;    /* Length of cmsghdr + data    */
   int            cmsg_level;    /* Protocol            */
   int            cmsg_type;    /* Protocol type        */
};

$ grep -w 'typedef.*ULONG_PTR' /usr/include/w32api/basetsd.h | head -3
   __MINGW_EXTENSION typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
   typedef unsigned long ULONG_PTR,*PULONG_PTR;
   __MINGW_EXTENSION typedef ULONG_PTR SIZE_T,*PSIZE_T;

https://github.com/cygwin/cygwin/actions/ runs/15537033468%C2%A0workflow%C2%A0started

https://github.com/cygwin/cygwin/actions/runs/15537033468/job/43738461428

Was this upgrade tested with a current Cygwin build before deployment?

Thanks for debugging the issue. I'll make sure to do a test build before each release.

Reply via email to