Thread: MingW and MiniDumps

MingW and MiniDumps

From
Magnus Hagander
Date:
Seems at least one mingw machine is missing the definitions for
minidumps. It does seem to have the header (dbghelp.h) that's
required, but with incomplete contents?

Can someone who has a working mingw environment look for the
definitions? See
http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=narwhal&dt=2010-12-19%2017%3A00%3A01
for ref on what's missing.

If they're not defined on mingw, I'm inclined to just not bother
building the crashdump functionality at all on mingw. It's likely less
useful there since mingw doesn't use windows compatible symbol tables,
but it might still be a bit useful due to our "export everything"
approach.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


Re: MingW and MiniDumps

From
Andrew Dunstan
Date:

On 12/19/2010 12:23 PM, Magnus Hagander wrote:
> Seems at least one mingw machine is missing the definitions for
> minidumps. It does seem to have the header (dbghelp.h) that's
> required, but with incomplete contents?
>
> Can someone who has a working mingw environment look for the
> definitions? See
> http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=narwhal&dt=2010-12-19%2017%3A00%3A01
> for ref on what's missing.
>
> If they're not defined on mingw, I'm inclined to just not bother
> building the crashdump functionality at all on mingw. It's likely less
> useful there since mingw doesn't use windows compatible symbol tables,
> but it might still be a bit useful due to our "export everything"
> approach.

I can't find either the header or the symbols.

cheers

andrew


Re: MingW and MiniDumps

From
Magnus Hagander
Date:
On Sun, Dec 19, 2010 at 20:58, Andrew Dunstan <andrew@dunslane.net> wrote:
>
>
> On 12/19/2010 12:23 PM, Magnus Hagander wrote:
>>
>> Seems at least one mingw machine is missing the definitions for
>> minidumps. It does seem to have the header (dbghelp.h) that's
>> required, but with incomplete contents?
>>
>> Can someone who has a working mingw environment look for the
>> definitions? See
>>
>> http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=narwhal&dt=2010-12-19%2017%3A00%3A01
>> for ref on what's missing.
>>
>> If they're not defined on mingw, I'm inclined to just not bother
>> building the crashdump functionality at all on mingw. It's likely less
>> useful there since mingw doesn't use windows compatible symbol tables,
>> but it might still be a bit useful due to our "export everything"
>> approach.
>
> I can't find either the header or the symbols.

That's weird - from what I can tell, at least narwahl isn't
complaining about a missing include file, just the undefined symbols.
Different versions of mingw perhaps?

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


Re: MingW and MiniDumps

From
Andrew Dunstan
Date:


On 12/19/2010 03:09 PM, Magnus Hagander wrote:
>>
>> I can't find either the header or the symbols.
> That's weird - from what I can tell, at least narwahl isn't
> complaining about a missing include file, just the undefined symbols.
> Different versions of mingw perhaps?
>

Maybe. I have no idea where narwhal got its version of dbghelp.h. I 
copied the file from the SDK directory to mingw's include directory and 
the build then ran perfectly. I think therefore the right thing is to 
have a configure test for the file and for MINIDUMP_TYPE on win32, and 
only build in crashdump if it passes those tests.

cheers

andrew




Re: MingW and MiniDumps

From
Tom Lane
Date:
Andrew Dunstan <andrew@dunslane.net> writes:
> Maybe. I have no idea where narwhal got its version of dbghelp.h. I 
> copied the file from the SDK directory to mingw's include directory and 
> the build then ran perfectly. I think therefore the right thing is to 
> have a configure test for the file and for MINIDUMP_TYPE on win32, and 
> only build in crashdump if it passes those tests.

mmm ... how ya gonna do that on the MSVC side of things?
        regards, tom lane


Re: MingW and MiniDumps

From
Magnus Hagander
Date:
On Mon, Dec 20, 2010 at 19:24, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>> Maybe. I have no idea where narwhal got its version of dbghelp.h. I
>> copied the file from the SDK directory to mingw's include directory and
>> the build then ran perfectly. I think therefore the right thing is to
>> have a configure test for the file and for MINIDUMP_TYPE on win32, and
>> only build in crashdump if it passes those tests.

+1.


> mmm ... how ya gonna do that on the MSVC side of things?

MSVC always has the Platform SDK. So it has the required headers.

There was one symbol missing from an older version of the platform
sdk, but it's not really one we need...

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


Re: MingW and MiniDumps

From
Andrew Dunstan
Date:

On 12/20/2010 01:25 PM, Magnus Hagander wrote:
> On Mon, Dec 20, 2010 at 19:24, Tom Lane<tgl@sss.pgh.pa.us>  wrote:
>> Andrew Dunstan<andrew@dunslane.net>  writes:
>>> Maybe. I have no idea where narwhal got its version of dbghelp.h. I
>>> copied the file from the SDK directory to mingw's include directory and
>>> the build then ran perfectly. I think therefore the right thing is to
>>> have a configure test for the file and for MINIDUMP_TYPE on win32, and
>>> only build in crashdump if it passes those tests.
> +1.
>
>

Suggested patch attached.

cheers

andrew

Attachment

Re: MingW and MiniDumps

From
Magnus Hagander
Date:
On Sun, Dec 26, 2010 at 01:10, Andrew Dunstan <andrew@dunslane.net> wrote:
>
>
> On 12/20/2010 01:25 PM, Magnus Hagander wrote:
>>
>> On Mon, Dec 20, 2010 at 19:24, Tom Lane<tgl@sss.pgh.pa.us>  wrote:
>>>
>>> Andrew Dunstan<andrew@dunslane.net>  writes:
>>>>
>>>> Maybe. I have no idea where narwhal got its version of dbghelp.h. I
>>>> copied the file from the SDK directory to mingw's include directory and
>>>> the build then ran perfectly. I think therefore the right thing is to
>>>> have a configure test for the file and for MINIDUMP_TYPE on win32, and
>>>> only build in crashdump if it passes those tests.
>>
>> +1.
>>
>>
>
> Suggested patch attached.

I wonder if we need to actually care about which enum values are
actually within the symbol. But let's try it this way first and see
what the buildfarm has to say about that.

Doesn't this break the msvc build? (Sorry, don't have one up to test
right now).. You moved the crashdump.o file to a separate line from
OBS, which I believe will make the msvc build system loose it. So
you'll have to explicitly add it back on msvc, in Mkvcbuild.pm.

Other than that, looks good.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


Re: MingW and MiniDumps

From
Andrew Dunstan
Date:

On 12/26/2010 04:35 AM, Magnus Hagander wrote:
> On Sun, Dec 26, 2010 at 01:10, Andrew Dunstan<andrew@dunslane.net>  wrote:
>>
>> On 12/20/2010 01:25 PM, Magnus Hagander wrote:
>>> On Mon, Dec 20, 2010 at 19:24, Tom Lane<tgl@sss.pgh.pa.us>    wrote:
>>>> Andrew Dunstan<andrew@dunslane.net>    writes:
>>>>> Maybe. I have no idea where narwhal got its version of dbghelp.h. I
>>>>> copied the file from the SDK directory to mingw's include directory and
>>>>> the build then ran perfectly. I think therefore the right thing is to
>>>>> have a configure test for the file and for MINIDUMP_TYPE on win32, and
>>>>> only build in crashdump if it passes those tests.
>>> +1.
>>>
>>>
>> Suggested patch attached.
> I wonder if we need to actually care about which enum values are
> actually within the symbol. But let's try it this way first and see
> what the buildfarm has to say about that.
>
> Doesn't this break the msvc build? (Sorry, don't have one up to test
> right now).. You moved the crashdump.o file to a separate line from
> OBS, which I believe will make the msvc build system loose it. So
> you'll have to explicitly add it back on msvc, in Mkvcbuild.pm.

I think it will actually be OK. If not I'll fix it.

> Other than that, looks good.
>

OK. applied.

cheers

andrew