Date: Thu, 20 Sep 2018 19:03:26 -0700 From: Mark Millard <marklmi@yahoo.com> To: Mark Johnston <markj@FreeBSD.org>, Li-Wen Hsu <lwhsu@freebsd.org>, 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: <B4DE8C10-126A-4BDA-AF3E-45A848DAE7A8@yahoo.com> In-Reply-To: <21AF98BF-12EE-49DD-B485-54537B26FBF8@yahoo.com> References: <21AF98BF-12EE-49DD-B485-54537B26FBF8@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[I've got a historical WERROR=3D used in my amd64-gcc based builds.] On 2018-Sep-20, at 6:05 PM, Mark Millard <marklmi at yahoo.com> wrote: > Li-Wen Hsu lwhsu at freebsd.org wrote on > Thu Sep 20 22:10:19 UTC 2018 : >=20 >> On Thu, Sep 20, 2018 at 10:06 PM Mark Johnston <markj at freebsd.org> = wrote: >>>=20 >>> On Thu, Sep 20, 2018 at 09:39:24AM -0700, John Baldwin wrote: >>>> 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 >>>>>>=20 >>>>>> 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. >>>=20 >>> This is the -m32 build on amd64. I haven't tested it myself, but = Mark >>> Millard noted that the issue might be fixed by a gcc update. >>>=20 >>=20 >> I suspect this. Each build is in a fresh created jail with the = latest >> branch of packages from pkg.freebsd.org. >>=20 >> At the beginning of (warning: 56MB file) >> https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/7262/consoleText >>=20 >> There is: >>=20 >> New packages to be INSTALLED: >> amd64-xtoolchain-gcc: 0.4_1 >> amd64-gcc: 6.4.0_2 >> mpfr: 4.0.1 >> gmp: 6.1.2 >> mpc: 1.1.0_1 >> amd64-binutils: 2.30_5,1 >>=20 >> Number of packages to be installed: 6 >>=20 >> Or is there a newer version of devel/amd64-gcc I am not aware? >=20 > I wonder when ci.freebsd.org started using "amd64-gcc: 6.4.0_2". > Looking: = https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/6665/consoleText > from back on 2018-Jul-26. This suggests being based on > -r475319 (2018-Jul-25) for devel/powerpc-gcc (the master > port). >=20 > Looks like -r475290 (the float.h removal) is the first version > with PORT_REVISION being 2, as are all later versions at > this point. Technically -r476273 (2018-Aug-2) removed a typo from > -r475290 but at the time the typo seemed to not make an operational > difference. Still, ci.freebsd.org seems to not be > using the version with the typo fixed. >=20 > Looks like system head being built was -r338831. (I'm only at > -r338675 so far.) >=20 > I've started a buildworld buildkernel based -on head -r3338675 > and based on master port: >=20 > # svnlite diff /usr/ports/devel/powerpc64-gcc/ | more > Index: /usr/ports/devel/powerpc64-gcc/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- /usr/ports/devel/powerpc64-gcc/Makefile (revision 480180) > +++ /usr/ports/devel/powerpc64-gcc/Makefile (working copy) > @@ -16,7 +16,8 @@ > LIB_DEPENDS=3D libgmp.so:math/gmp \ > libmpfr.so:math/mpfr \ > libmpc.so:math/mpc > -BUILD_DEPENDS=3D ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils > +BUILD_DEPENDS=3D ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils \ > + objdump:devel/binutils > RUN_DEPENDS=3D ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils >=20 > USES=3D gmake iconv libtool tar:xz makeinfo compiler >=20 > which does not have -r478209 involved ( un-breaking > devel/aarch64-none-elf-gcc ). >=20 > # svnlite diff /usr/ports/devel/amd64-gcc/ | more > # >=20 > So no differences there (relative to -r480180). >=20 >=20 > (The objdump is from having built systems based on > WITHOUT_BINUTILS and WITHOUT_BINUTILS_BOOTSTRAP at times > but some devel/*-gcc builds trying to use objdump in the > configuration part of gcc's build.) >=20 > My past builds using at or after -r475290 for various system > head revisions have completed without being stopped by an > error but it has been a while. I will see for this one, but > it is only into building lib32 so far. >=20 > (Note: My port builds are via devel/poudriere-devel tied to > my /usr/ports/ and to my > /usr/obj/DESTDIRs/clang-amd64-installworld-poud/ that is installed > from the same build that I install and boot from, just with > distrib-dirs distribution DB_FROM_SRC=3D1 also involved with the > installworld .) >=20 The build completed. The difference in what I get as a result is that I get: /usr/src/lib/msun/ld80/e_powl.c: In function 'powl': /usr/src/lib/msun/ld80/e_powl.c:275:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:286:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:297:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:321:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c: In function 'powil': /usr/src/lib/msun/ld80/e_powl.c:577:3: warning: floating constant = exceeds range of 'long double' [-Woverflow] . . . /usr/src/lib/msun/ld80/e_powl.c: In function 'powl': /usr/src/lib/msun/ld80/e_powl.c:275:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:286:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:297:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:321:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c: In function 'powil': /usr/src/lib/msun/ld80/e_powl.c:577:3: warning: floating constant = exceeds range of 'long double' [-Woverflow] . . . /usr/src/lib/msun/ld80/e_powl.c: In function 'powl': /usr/src/lib/msun/ld80/e_powl.c:275:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:286:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:297:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c:321:1: warning: floating constant = exceeds range of 'long double' [-Woverflow] /usr/src/lib/msun/ld80/e_powl.c: In function 'powil': /usr/src/lib/msun/ld80/e_powl.c:577:3: warning: floating constant = exceeds range of 'long double' [-Woverflow] from my (historically driven) use of: # Avoid db_trace.o getting: # calling '__builtin_frame_address' with a nonzero argument is unsafe # as an error? Other such points as well. WERROR=3D in my equivalent of src.conf : src.conf.amd64-xtoolchain-gcc.amd64-host = . I had given up on avoiding use of WERROR for fairly-modern-gcc-based long ago. May be things are better now and I should disable that. Anyway, the messages in both types of builds seem to fit with John Baldwin's notes about his proposed patch of sys/x86/include/float.h : overflow by lack of truncation making the value bigger. =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?B4DE8C10-126A-4BDA-AF3E-45A848DAE7A8>