From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Victor Wagner <vitus(at)wagner(dot)pp(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Bug fix for glibc broke freebsd build in REL_11_STABLE |
Date: | 2018-09-05 00:51:30 |
Message-ID: | 20180905005130.ewk4xcs5dgyzcy45@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2018-09-05 01:47:52 +0100, Andrew Gierth wrote:
> >>>>> "Tom" == Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
>
> >> I kinda wonder if we should add -mno-x87 or such in configure when
> >> we detect clang, obviously it doesn't deal correctly with this.
>
> Tom> Seems worth looking into, but what happens if someone tries to
> Tom> compile for x87 hardware? Or do we care anymore?
>
> Already discussed this one on IRC with Andres, but to put this on record
> for future reference: we can't use -mno-x87 on 32bit intel, even with an
> -march= option with an SSE2 capable CPU, because the 32-bit ABI requires
> floats to be returned in the x87 registers and breaking that either
> results in silently wrong results or in clang dying with "fatal error:
> error in backend: X87 register return with X87 disabled" or similar.
My current proposal is thus to do add a check that does
#if defined(__clang__) && defined(__i386__) && !defined(__SSE2_MATH__)
something-that-fails
#endif
in an autoconf test, and have configure complain if that
fails. Something roughly along the lines of
"Compiling PostgreSQL with clang, on 32bit x86, requires SSE2 support. Use -msse2 or use gcc."
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2018-09-05 00:53:15 | Re: pointless check in RelationBuildPartitionDesc |
Previous Message | Andrew Gierth | 2018-09-05 00:47:52 | Re: Bug fix for glibc broke freebsd build in REL_11_STABLE |