Re: Bug fix for glibc broke freebsd build in REL_11_STABLE

Thomas Munro <thomas.munro@enterprisedb.com>

From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, vitus@wagner.pp.ru
Date: 2018-09-04T18:06:56Z
Lists: pgsql-hackers
On Tue, Sep 4, 2018 at 9:39 AM Andrew Gierth
<andrew@tao11.riddles.org.uk> wrote:
>
> >>>>> "Andres" == Andres Freund <andres@anarazel.de> writes:
>
>  >> However, this commit broke float8 test on 32-bit FreeBSD 11 with
>  >> clang 3.8.0 compiler. Regressions.diff follows:
>
>  Andres> Does this happen with a newer clang version too?
>
> float8 test (and all other tests) passes for me on clang 3.9.1 on fbsd11
> on 32-bit ARM, and on -m32 builds on amd64.
>
> I also confirmed that without #define isinf(x) __builtin_isinf(x), on
> both 32bit and 64bit fbsd isinf() compiles as a function call, so the
> OP's proposed change would not be desirable.

I installed FreeBSD 11.2 i386 on a virtual machine.  I couldn't
reproduce the problem with either the base cc (clang 6.0.0) or clang38
(clang 3.8.1) installed via pkg.

The OP reported clang 3.8.0, so a minor version behind what I tested.

I did learn that "make check" fails in rolenames if your Unix user is
called "user".

-- 
Thomas Munro
http://www.enterprisedb.com


Commits

  1. Error out for clang on x86-32 without SSE2 support, no -fexcess-precision.

  2. Fix 8a934d677 for libc++ and make more include order resistant.