Skip site navigation (1) Skip section navigation (2)

Re: Latest ecpg patch broke MSVC build

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Hannes Eder <Hannes(at)HannesEder(dot)net>
Cc: andrew(at)dunslane(dot)net, tgl(at)sss(dot)pgh(dot)pa(dot)us, meskes(at)postgresql(dot)org,itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Latest ecpg patch broke MSVC build
Date: 2007-10-03 07:47:54
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
On Wed, Oct 03, 2007 at 09:35:51AM +0200, Hannes Eder wrote:
> Magnus Hagander schrieb:
> >>>Since this is an actual API library, perhaps a proper fix is to create a
> >>>.def file listing the exports in it, the same way we do for libpq? And 
> >>>then
> >>>we could (should!) also filter the exports the same ways as we do for 
> >>>libpq
> >>>these days.
> >>>
> >>>(see the exports.txt file in libpq)
> >>>
> >>>I'll try to find time to look forther at this meanwhile, but if someone 
> >>>can
> >>>confirm that donig an explicit export list is a good way to go, I can
> >>>confirm that donig that fixes the build problem :-)
> >>>
> >>>//Magnus
> >>>
> >>>---------------------------(end of broadcast)---------------------------
> >>>TIP 6: explain analyze is your friend
> >>>  
> >>>      
> >>According to:
> >>
> >>Module-Definition (.def) File EXPORT
> >>
> >>
> >>whitespace is required between the name and the ordinal in a
> >>.def-file, hence in the .def-file DllMain @12 should be used
> >>instead of DllMain(at)12(dot)
> >>    
> >
> > you're reading the problem wrong. The 12 is not the ordinal, it's a part 
> > of the decorated name.
> >
> >
> >/Magnus
> >
> >
> >---------------------------(end of broadcast)---------------------------
> >TIP 2: Don't 'kill -9' the postmaster
> >  
> but, we are compiling C so the names shouldn't be decorated.

We're not talking C++ decoration, we're talking Windows API decoration.
Take a look at for example:
(there is a reference on MSDN as well, btu I can't find it right now)

The @12 is "12 bytes in the argument list to the function". The
reason is to make sure the caller calls it with the right number of
arguments so as to prevent stack issues.


In response to


pgsql-hackers by date

Next:From: Trevor TalbotDate: 2007-10-03 08:55:39
Subject: Re: Latest ecpg patch broke MSVC build
Previous:From: Hannes EderDate: 2007-10-03 07:35:51
Subject: Re: Latest ecpg patch broke MSVC build

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group