Re: MAXIMUM_ALIGNOF on Windows-32 - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: MAXIMUM_ALIGNOF on Windows-32
Date
Msg-id 20070723151252.GC5663@svr2.hagander.net
Whole thread Raw
In response to Re: MAXIMUM_ALIGNOF on Windows-32  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: MAXIMUM_ALIGNOF on Windows-32  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, Jul 20, 2007 at 10:32:35AM -0400, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > Tom Lane wrote:
> >> Anyway, we detect this directly based on the C compiler's behavior,
> >> and you can't argue with the compiler about it.  Whatever it's
> >> doing is right by definition.
> 
> > Perhaps Pavan is referring to what is hardcoded in pg_config.h.win32 
> > which is used for MSVC builds  (but not for MinGW builds, IIRC), in 
> > which case the answer might be that in this file we need to be 
> > pessimistic about such things, since we have no reasonable way to run 
> > configure on this platform.
> 
> Somebody had better double-check that.  We don't need to be
> "pessimistic", we need to be *correct*, because the align values had
> better match the way the compiler will lay out a C struct.  Otherwise
> struct-based access to catalog rows will fail.  (I'm not sure if there
> are any system catalogs with float8 or int64 columns, but I'd sure not
> want to find out that we couldn't have one because of misconfiguration
> of MSVC builds.)

How do I double-check this?


> I see though that the comment in pg_config.h.win32 claims it was derived
> from mechanically-generated configure output, so unless that's lying
> it should be OK already. 

It's not - it started out as a copy of the output of ./configure on mingw.

> AFAIK struct alignment is part of the ABI for
> a platform and is not subject to the whims of individual compilers, so
> the result from MinGW should be OK for MSVC.

Still, it doesn't hurt to double-check.

//Magnus


pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Why is lc_messages superuser only?
Next
From: Tom Lane
Date:
Subject: Re: syslogging oddity