| www.delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| X-SWARE-Spam-Status: | No, hits=4.8 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD |
| X-Spam-Check-By: | sourceware.org |
| Message-ID: | <4E82CF78.7090405@cs.vu.nl> |
| Date: | Wed, 28 Sep 2011 09:40:40 +0200 |
| From: | Erik van der Kouwe <vdkouwe AT cs DOT vu DOT nl> |
| User-Agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 |
| MIME-Version: | 1.0 |
| To: | cygwin AT cygwin DOT com |
| Subject: | Inconsistency between winnt.h header in /usr/include/w32api and the one supplied with the Microsoft SDK |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
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
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |