Re: 8.2bet2 failed build on Solaris 10 / x86-64 / SUN Studio

From: Andreas Lange <anlan(at)ida(dot)liu(dot)se>
To: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: 8.2bet2 failed build on Solaris 10 / x86-64 / SUN Studio
Date: 2006-11-14 13:41:04
Message-ID: 4559C770.6080404@ida.liu.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Zdenek Kotala wrote:

>
> Main problem is -fast switch. It modifies behavior of floating point
> operation (it is reason why It is not good option for postgres) and
> use another floating point libraries and some function are inlined. It
> is reason why pow test passed with -fast switch without -lm switch.
>
> Detail description of -fast you can found on
> http://docs.sun.com/source/819-3688/cc_ops.app.html
>

I noticed that the Sun FAQ now has changed from hinting that -fast might
be very beneficial to recomend staying away from it.

Using -fast is an old habit, has been building with it for years. I've
seen that the testsuite breaks (in date/time) with only -fast, but it
seems the only option one has to disable to normalize floating point
enough is -fns. I hope passing the testsuite really means that fp math
behaves correctly. If I'm wrong about that, I'll have to change our
build routine.

Beeing lazy, it is a good bit easier to go with -fast and turn of the
problematic optimization with:
-fast -fns=no
than expanding the -fast macro and having to add all parameters:
-dalign -nofstore -fsimple=2 -fsingle -xalias_level=basic -native
-xdepend -xlibmil -xlibmopt -xO5 -xregs=frameptr

I do understand the recomendation to avoid -fast, the tweaking is both
compiler version and hardware architecture dependant. Doing a make check
is always advisable.

regards,
Andreas

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message scoanda 2006-11-14 15:42:53 BUG #2758: missing quotes in SQL sentence
Previous Message Magnus Hagander 2006-11-13 09:36:19 Re: 8.2beta1 (w32): server process crash (tsvector)