Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jun 2018 19:54:17 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        John Baldwin <jhb@freebsd.org>, Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: head -r335782 (?) broke ci.freebsd.org's FreeBSD-head-amd64-gcc build (lib32 part of build)
Message-ID:  <7A845F2C-C994-4828-823D-33A97B7B6EB0@yahoo.com>
In-Reply-To: <CF0230A1-1384-4F0F-A96A-5AB555FD17AC@yahoo.com>
References:  <00D1127A-1F0E-4E0E-B86C-1C5AA5B2E085@yahoo.com> <CF0230A1-1384-4F0F-A96A-5AB555FD17AC@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Jun-28, at 6:04 PM, Mark Millard <marklmi at yahoo.com> wrote:

> On 2018-Jun-28, at 5:39 PM, Mark Millard <marklmi at yahoo.com> wrote:
>=20
>> [ ci.free.bsd.org jumped from -r335773 (built) to -r335784 (failed)
>> for FreeBSD-head-amd64-gcc. It looked to me like the most likely
>> breaking-change was the following but I've not tried personal
>> builds to confirm.
>> ]
>>=20
>> It looks to me that:
>>=20
>>> Author: jhb
>>> Date: Thu Jun 28 21:26:14 2018
>>> New Revision: 335782
>>> URL:=20
>>> https://svnweb.freebsd.org/changeset/base/335782
>>>=20
>>>=20
>>> Log:
>>> Remove the various build flag hacks for GCC cross-compile.
>>>=20
>>> The xtoolchain GCC packages have not required these flags since =
ports
>>> commits r465416 and r466701.  The in-tree GCC 4.2.1 has also been =
patched
>>> in r335716 and r335717 to correctly honor --sysroot when looking for
>>> includes and libraries.
>>>=20
>>> Reviewed by:	bdrewery
>>> Sponsored by:	DARPA / AFRL
>>> Differential Revision:=09
>>> https://reviews.freebsd.org/D16055
>> . . .
>>=20
>> broke ci.freebsd.org's FreeBSD-head-amd64-gcc build.
>>=20
>> https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/6331/consoleText =
shows:
>>=20
>> --- catrigl.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.catrigl.o -MTcatrigl.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/src/catrigl.c -o catrigl.o
>> /workspace/src/lib/msun/src/catrigl.c:90:2: error: #error =
"Unsupported long double format"
>> #error "Unsupported long double format"
>> ^~~~~
>> /workspace/src/lib/msun/src/catrigl.c: In function 'casinhl':
>> /workspace/src/lib/msun/src/catrigl.c:190:35: error: 'm_ln2' =
undeclared (first use in this function)
>>   w =3D clog_for_large_values(z) + m_ln2;
>>                                  ^~~~~
>> /workspace/src/lib/msun/src/catrigl.c:190:35: note: each undeclared =
identifier is reported only once for each function it appears in
>> /workspace/src/lib/msun/src/catrigl.c:202:11: error: 'SQRT_6_EPSILON' =
undeclared (first use in this function)
>> if (ax < SQRT_6_EPSILON / 4 && ay < SQRT_6_EPSILON / 4)
>>          ^~~~~~~~~~~~~~
>> /workspace/src/lib/msun/src/catrigl.c: In function 'cacosl':
>> /workspace/src/lib/msun/src/catrigl.c:250:20: error: 'm_ln2' =
undeclared (first use in this function)
>>  ry =3D creall(w) + m_ln2;
>>                   ^~~~~
>> /workspace/src/lib/msun/src/catrigl.c:261:11: error: 'SQRT_6_EPSILON' =
undeclared (first use in this function)
>> if (ax < SQRT_6_EPSILON / 4 && ay < SQRT_6_EPSILON / 4)
>>          ^~~~~~~~~~~~~~
>> In file included from /workspace/src/lib/msun/src/catrigl.c:45:0:
>> /workspace/src/lib/msun/src/catrigl.c: In function =
'clog_for_large_values':
>> /workspace/src/lib/msun/src/catrigl.c:316:34: error: 'm_e' undeclared =
(first use in this function)
>>  return (CMPLXL(logl(hypotl(x / m_e, y / m_e)) + 1,
>>                                 ^
>> /workspace/src/lib/msun/src/catrigl.c:316:11: error: =
'__builtin_complex' operand not of real binary floating-point type
>>  return (CMPLXL(logl(hypotl(x / m_e, y / m_e)) + 1,
>>          ^
>> /workspace/src/lib/msun/src/catrigl.c: In function 'catanhl':
>> /workspace/src/lib/msun/src/catrigl.c:390:11: error: 'SQRT_3_EPSILON' =
undeclared (first use in this function)
>> if (ax < SQRT_3_EPSILON / 2 && ay < SQRT_3_EPSILON / 2) {
>>          ^~~~~~~~~~~~~~
>> /workspace/src/lib/msun/src/catrigl.c:396:9: error: 'm_ln2' =
undeclared (first use in this function)
>>  rx =3D (m_ln2 - logl(ay)) / 2;
>>        ^~~~~
>> *** [catrigl.o] Error code 1
>=20
> Later below expand the failing and previoly good commands, one
> option per line. The summary of the distinction in content is
> a one line difference, the working example ( -r335773 )had the
> option:
>=20
> -isystem =
/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/include
>=20
> but the failing one did not. Working ( -r335773 ) is shown first.
>=20
> --- catrigl.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
> -isystem =
/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/include
> -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.catrigl.o
> -MTcatrigl.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/src/catrigl.c
> -o catrigl.o
>=20
>=20
> --- catrigl.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=20
> -I/workspace/src/lib/libc/i386
> -g
> -MD
> -MF.depend.catrigl.o
> -MTcatrigl.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/src/catrigl.c
> -o catrigl.o


For the report:

> The xtoolchain GCC packages have not required these flags since ports
>   commits r465416 and r466701

Looking at =
https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/6331/consoleText
there is:

> Updating FreeBSD repository catalogue...
> FreeBSD repository is up to date.
> All repositories are up to date.
> The following 6 package(s) will be affected (of 0 checked):
>=20
> New packages to be INSTALLED:
> 	amd64-xtoolchain-gcc: 0.4_1
> 	amd64-gcc: 6.4.0
> 	mpfr: 4.0.1
> 	gmp: 6.1.2
> 	mpc: 1.1.0_1
> 	amd64-binutils: 2.30_3,1

and amd64-gcc being 6.4.0 (via powerpc64-gcc) is from -r466834
(via looking up in https://svnweb.freebsd.org/ports/head/devel/ ).

This indicates that -r465416 and -r466701 did not cause:

--sysroot=3D/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp

to lead to include files being looked up in:

/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/include

Thus there appears to still be a need for:

-isystem =
/workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/include

unless more is done to the devel/*-gcc to make them look
in that additional place automatically (based on --sysroot).

=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?7A845F2C-C994-4828-823D-33A97B7B6EB0>