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
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to