This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Inconsistency between winnt.h header in /usr/include/w32api and the one supplied with the Microsoft SDK


Dear all,

I found that the definition of the IMAGE_RUNTIME_FUNCTION_ENTRY structure differs between the winnt.h header supplied with Cygwin and the one supplied from the Microsoft SDK (v7.1).

Cygwin gives me this in /usr/include/w32api/winnt.h:



typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
	DWORD BeginAddress;
	DWORD EndAddress;
	PVOID ExceptionHandler;
	PVOID HandlerData;
	DWORD PrologEndAddress;
} IMAGE_RUNTIME_FUNCTION_ENTRY,*PIMAGE_RUNTIME_FUNCTION_ENTRY;



In "C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\WinNT.h", on the other hand, I find:



typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
    DWORD BeginAddress;
    DWORD EndAddress;
    DWORD UnwindInfoAddress;
} _IMAGE_RUNTIME_FUNCTION_ENTRY, *_PIMAGE_RUNTIME_FUNCTION_ENTRY;

...

typedef  _IMAGE_RUNTIME_FUNCTION_ENTRY  IMAGE_RUNTIME_FUNCTION_ENTRY;
typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;



Clearly, these definitions are incompatible. Binary dumping of the .pdata section of a PE image strongly suggests that the Windows SDK is correct on this one.

Any idea where Cygwin's version came from? Should it be corrected/could you correct it? And while it hasn't been corrected, is there some easy way to use the SDK's version of the headers or should I just copy the definition?

With kind regards,
Erik

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]