svn commit: r336299 - in head: include lib/msun lib/msun/ld128 lib/msun/ld80 lib/msun/man lib/msun/src

Mark Millard marklmi at yahoo.com
Thu Sep 20 18:39:23 UTC 2018


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
> >>   
> >>   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.
> >>   
> >>   Thanks to jhb for tracking down the issue with making
> >>   weak_reference compile on powerpc.
> >>   
> >>   When asked to review, bde said "I don't like it" - but
> >>   provided no actionable feedback or superior implementations.
> >>   
> >>   Discussed with: jhb
> >>   Submitted by: jmd
> >>   Differential Revision: https://reviews.freebsd.org/D15919
> > 
> > This seems to have broken the gcc build:
> > https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/
> > 
> > /workspace/src/lib/msun/ld80/e_powl.c:275:1: error: floating constant exceeds range of 'long double' [-Werror=overflow]
> >   if( y >= LDBL_MAX )
> >   ^~
> 
> 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=i686 -mmmx -msse -msse2 -m32  -L/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/lib32  --sysroot=/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=gnu99 -fstack-protector-strong -Wsystem-headers -Werror -Wno-pointer-sign -Wno-error=address -Wno-error=array-bounds -Wno-error=attributes -Wno-error=bool-compare -Wno-error=cast-align -Wno-error=clobbered -Wno-error=enum-compare -Wno-error=extra -Wno-error=inline -Wno-error=logical-not-parentheses -Wno-error=strict-aliasing -Wno-error=uninitialized -Wno-error=unused-but-set-variable -Wno-error=unused-function -Wno-error=unused-value -Wno-error=misleading-indentation -Wno-error=nonnull-compare -Wno-error=shift-negative-value -Wno-error=tautological-compare -Wno-error=unused-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=overflow]
 if( y >= LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c:286:1: error: floating constant exceeds range of 'long double' [-Werror=overflow]
 if( y <= -LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c:297:1: error: floating constant exceeds range of 'long double' [-Werror=overflow]
 if( x >= LDBL_MAX )
 ^~
/workspace/src/lib/msun/ld80/e_powl.c:321:1: error: floating constant exceeds range of 'long double' [-Werror=overflow]
 if( x <= -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=overflow]
   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.

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



More information about the svn-src-head mailing list