Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Sep 2018 11:29:04 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        John Baldwin <jhb@freebsd.org>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r336299 - in head: include lib/msun lib/msun/ld128  lib/msun/ld80 lib/msun/man lib/msun/src
Message-ID:  <B77041C9-BA4D-49FB-82F6-B3417E4800ED@yahoo.com>

next in thread | raw e-mail | index | archive | help
John Baldwin jhb at FreeBSD.org wrote on
Thu Sep 20 16:39:27 UTC 2018 :

> On 9/20/18 8:54 AM, Mark Johnston wrote:
> > On Sun, Jul 15, 2018 at 12:23:11AM +0000, Matt Macy wrote:
> >> Author: mmacy
> >> Date: Sun Jul 15 00:23:10 2018
> >> New Revision: 336299
> >> URL: https://svnweb.freebsd.org/changeset/base/336299
> >>
> >> Log:
> >>   msun: add ld80/ld128 powl, cpow, cpowf, cpowl from openbsd
> >>  =20
> >>   This corresponds to the latest status (hasn't changed in 9+
> >>   years) from openbsd of ld80/ld128 powl, and source cpowf, cpow,
> >>   cpowl (the complex power functions for float complex, double
> >>   complex, and long double complex) which are required for C99
> >>   compliance and were missing from FreeBSD. Also required for
> >>   some numerical codes using complex numbered Hamiltonians.
> >>  =20
> >>   Thanks to jhb for tracking down the issue with making
> >>   weak_reference compile on powerpc.
> >>  =20
> >>   When asked to review, bde said "I don't like it" - but
> >>   provided no actionable feedback or superior implementations.
> >>  =20
> >>   Discussed with: jhb
> >>   Submitted by: jmd
> >>   Differential Revision: https://reviews.freebsd.org/D15919
> >=20
> > This seems to have broken the gcc build:
> > https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/
> >=20
> > /workspace/src/lib/msun/ld80/e_powl.c:275:1: error: floating =
constant exceeds range of 'long double' [-Werror=3Doverflow]
> >   if( y >=3D LDBL_MAX )
> >   ^~
>=20
> Which architecture?  i386 doesn't get build with i386-xtoolchain-gcc =
pending
> some patches I haven't yet posted for review related to the weirdness =
we do
> with floating point on i386.


Looking at:

https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/7260/consoleText
(the most recent completed build attempt when I looked)

It is the same as the 2018-Jun-28 list report about lib32 failing
to build in the amd64 build (that lead to your ports' head -r475290):

--- lib/msun__L ---
--- e_powl.o ---
/usr/local/bin/x86_64-unknown-freebsd11.1-gcc -DCOMPAT_32BIT -march=3Di686=
 -mmmx -msse -msse2 -m32  =
-L/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/lib32  =
--sysroot=3D/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp  =
-B/usr/local/x86_64-unknown-freebsd11.1/bin/ =
-B/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/lib32  -O2 =
-pipe -I/workspace/src/lib/msun/x86 -I/workspace/src/lib/msun/ld80 =
-I/workspace/src/lib/msun/i387 -I/workspace/src/lib/msun/src =
-I/workspace/src/lib/libc/include  -I/workspace/src/lib/libc/i386  -g =
-MD  -MF.depend.e_powl.o -MTe_powl.o -std=3Dgnu99 =
-fstack-protector-strong -Wsystem-headers -Werror -Wno-pointer-sign =
-Wno-error=3Daddress -Wno-error=3Darray-bounds -Wno-error=3Dattributes =
-Wno-error=3Dbool-compare -Wno-error=3Dcast-align -Wno-error=3Dclobbered =
-Wno-error=3Denum-compare -Wno-error=3Dextra -Wno-error=3Dinline =
-Wno-error=3Dlogical-not-parentheses -Wno-error=3Dstrict-aliasing =
-Wno-error=3Duninitialized -Wno-error=3Dunused-but-set-variable =
-Wno-error=3Dunused-function -Wno-error=3Dunused-value =
-Wno-error=3Dmisleading-indentation -Wno-error=3Dnonnull-compare =
-Wno-error=3Dshift-negative-value -Wno-error=3Dtautological-compare =
-Wno-error=3Dunused-const-variable -Wno-unknown-pragmas     -c =
/workspace/src/lib/msun/ld80/e_powl.c -o e_powl.o
--- secure/lib/libcrypto__L ---
. . .
--- lib/msun__L ---
/workspace/src/lib/msun/ld80/e_powl.c: In function 'powl':
/workspace/src/lib/msun/ld80/e_powl.c:275:1: error: floating constant =
exceeds range of 'long double' [-Werror=3Doverflow]
 if( y >=3D LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c:286:1: error: floating constant =
exceeds range of 'long double' [-Werror=3Doverflow]
 if( y <=3D -LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c:297:1: error: floating constant =
exceeds range of 'long double' [-Werror=3Doverflow]
 if( x >=3D LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c:321:1: error: floating constant =
exceeds range of 'long double' [-Werror=3Doverflow]
 if( x <=3D -LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c: In function 'powil':
/workspace/src/lib/msun/ld80/e_powl.c:577:3: error: floating constant =
exceeds range of 'long double' [-Werror=3Doverflow]
   return( LDBL_MAX );
   ^~~~~~

Your ports' head -r475290 does avoid the problem and allow
such builds but ci.freebsd.org has not updated to some version
with the changes as I understand.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B77041C9-BA4D-49FB-82F6-B3417E4800ED>