From: | Dirk Tilger <dirk(at)miriup(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #3516: Incomplete #ifdef statement in s_lock.h |
Date: | 2007-08-06 09:56:26 |
Message-ID: | 20070806095626.GA12145@miriup.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Sun, Aug 05, 2007 at 11:20:18AM -0400, Tom Lane wrote:
> "Dirk Tilger" <dirk(at)miriup(dot)de> writes:
> > Operating system: Linux with Intel compiler on ia64
>
> > I have been compiling postgresql 8.0, 8.1 and 8.2.4 with the Intel compiler
> > in the past successfully. This time something went wrong and although I
> > can't tell precisely how I triggered it, I have found a fix.
>
> BTW, what I found in googling suggested that (1) icc never has defined
> __ICC on 64-bit machines, and (2) although it does define __GNUC__ by
> default, there is a way to turn that off. So I surmise that your
> relevant change was adding a compiler flag that disabled the definition
> of __GNUC__. That doesn't seem to have stopped it from accepting
> GNU-style asm directives, though, so I kinda wonder what compiler
> behavior does change and what was the point of your flag change.
The compiler seems to have been called with:
| icc -mp -no-gcc -mcpu=itanium2 -mtune=itanium2
The manual page about '-no-gcc' says:
-no-gcc
Do not predefine the __GNUC__, __GNUC_MINOR__, and __GNUC_PATCHLEVEL__
macros.
FYI: we also apply the attached patch to postgre, so that the
'configure' script would not add the -mp1, when -mp was already
specified. From the manual:
| -mp Maintain floating-point precision (disables some opti-
| mizations). The -mp option restricts optimization to
| maintain declared precision and to ensure that float-
| ing-point arithmetic conforms more closely to the ANSI
| and IEEE standards. For most programs, specifying this
| option adversely affects performance. If you are not sure
| whether your application needs this option, try compiling
| and running your program both with and without it to
| evaluate the effects on both performance and precision.
|
|
| -mp1 Improve floating-point precision. -mp1 disables fewer
| optimizations and has less impact on performance than
| -mp.
Best regards,
Dirk Tilger.
Attachment | Content-Type | Size |
---|---|---|
postgre.diff | text/plain | 535 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomasz Kawczynski | 2007-08-06 13:39:46 | BUG #3518: ERROR: IN types character varying and integer cannot be matched |
Previous Message | Tom Lane | 2007-08-05 15:20:18 | Re: BUG #3516: Incomplete #ifdef statement in s_lock.h |