Updated: w32api-{headers,runtime}-8.0.0-1 (x86/x86_64)

Ken Brown kbrown@cornell.edu
Wed Sep 23 14:49:40 GMT 2020


On 9/23/2020 12:44 AM, Brian Inglis wrote:
> On 2020-09-22 22:17, Brian Inglis wrote:
>> On 2020-09-22 16:10, Brian Inglis wrote:
>>> On 2020-09-18 23:19, JonY via Cygwin-announce wrote:
>>>> Now released for both 32bit and 64bit Cygwin:
>>>>
>>>> w32api-headers-8.0.0-1
>>>> w32api-runtime-8.0.0-1
>>>>
>>>> Based on mingw-w64-v8.0.0.
>>
>> Sorry, ambigous - to clarify: may be a definition conflict between updated
>> headers rebuilding cygwin both 32 and 64 just after latest updates: see attached log.
>> Cygwin both 32 and 64 builds worked without any problems just before the latest
>> updates.
> 
> Tad confusing log messages, but it appears the actual issue may not be a
> conflict to do with PVOID, but with PMEM_EXTENDED_PARAMETER between the below:
> 
> $ fgrep -wB12 PMEM_EXTENDED_PARAMETER /usr/include/w32api/winnt.h
>    typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER {
>      __C89_NAMELESS struct {
>          DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS;
>          DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS;
>      };
>      __C89_NAMELESS union {
>          DWORD64 ULong64;
>          PVOID Pointer;
>          SIZE_T Size;
>          HANDLE Handle;
>          DWORD ULong;
>      };
>    } MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;
> $ fgrep -wA8 PMEM_EXTENDED_PARAMETER winsup/utils/cygpath.cc
> #define PMEM_EXTENDED_PARAMETER PVOID
> #include <windows.h>
> #include <userenv.h>
> #include <shlobj.h>
> #include <ntdef.h>
> #include <ntdll.h>
> 
> #include "wide_path.h"
> #include "loadlib.h"
> 
> It seems likely that we could perhaps just remove the conflicting #define, but
> without some idea of the original intent and its impact, and a good cygpath
> regression test suite, that could perhaps be a rash decision.

This is related to the extended memory API that Corinna started using last 
April.  At the time the relevant declarations and definitions weren't in the 
mingw-w64 headers yet, so Corinna had to do some ad hoc stuff.  Now that they've 
been added, a lot of that stuff should be removed.  I'll do it later today.

Ken


More information about the Cygwin mailing list