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