This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
RE: Re[2]: Rebase 1.5-1: Causes invalid page fault
- From: "Bernard A Badger" <bab at vx dot com>
- To: <cygwin at cygwin dot com>
- Date: Wed, 19 Jun 2002 09:53:40 -0400
- Subject: RE: Re[2]: Rebase 1.5-1: Causes invalid page fault
Below.
> -----Original Message-----
> From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com]On Behalf
> Of Pavel Tsekov
> Sent: Tuesday, June 18, 2002 4:41 PM
> To: cygwin@cygwin.com
> Subject: Re[2]: Rebase 1.5-1: Causes invalid page fault
>
>
> JT> On Tue, Jun 18, 2002 at 06:04:31PM +0200, Pavel Tsekov wrote:
> >> You printed just the first argument. There is a total of 11 arguments
> >> to this function.
> >>
> >> BOOL ReBaseImage(
> >> PSTR CurrentImageName,
> >> PSTR SymbolPath,
> >> BOOL fReBase,
> >> BOOL fRebaseSysfileOk,
> >> BOOL fGoingDown,
> >> ULONG CheckImageSize,
> >> ULONG *OldImageSize,
> >> ULONG_PTR *OldImageBase,
> JT> ^^^^
> JT> ****
> >> ULONG *NewImageSize,
> >> ULONG_PTR *NewImageBase,
> JT> ^^^^
> JT> ****
> >> ULONG TimeStamp
> >> );
>
> JT> The ULONG_PTR above is causing me some concern. Note that the above
> JT> signature does *not* agree with the header file (either MinGW or MSVC)
> JT> and I cannot find the definition of ULONG_PTR. Is the above a typo in
> JT> the MSDN or are OldImageBase and NewImageBase really suppose to be a
> JT> pointer to pointer?
>
> The above is from help library that is coming with the downloadable
> Platform SDK. It is dated November, 2001.
>
> I just grepped /usr/include/w32api:
>
> ./basetsd.h:100:typedef unsigned long ULONG_PTR, *PULONG_PTR;
>
> So it is not a pointer to pointer. They have chosen a strange name
> though :)
Which "it" are you talking about?
The typedef you found defines ULONG_PTR as a pointer to unsigned long,
and also defines PULONG_PTR as a pointer to pointer to unsigned long.
But I thought the issue was the type of NewImageBase.
The question was whether
ULONG_PTR *NewImageBase,
defined a pointer to a pointer --- it does!
*NewImageBase defines NewImageBase as a pointer to ULONG_PTR,
which is itself a pointer, so it is, again, a
pointer-to-pointer-to-unsigned-long.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/