Re: head -r335782 (?) broke ci.freebsd.org's FreeBSD-head-amd64-gcc build (lib32 part of build)

From: Mark Millard <marklmi_at_yahoo.com>
Date: Thu, 28 Jun 2018 19:54:17 -0700
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:
> 
>> [ 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.
>> ]
>> 
>> It looks to me that:
>> 
>>> Author: jhb
>>> Date: Thu Jun 28 21:26:14 2018
>>> New Revision: 335782
>>> URL: 
>>> https://svnweb.freebsd.org/changeset/base/335782
>>> 
>>> 
>>> Log:
>>> Remove the various build flag hacks for GCC cross-compile.
>>> 
>>> 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.
>>> 
>>> Reviewed by:	bdrewery
>>> Sponsored by:	DARPA / AFRL
>>> Differential Revision:	
>>> https://reviews.freebsd.org/D16055
>> . . .
>> 
>> broke ci.freebsd.org's FreeBSD-head-amd64-gcc build.
>> 
>> https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/6331/consoleText shows:
>> 
>> --- catrigl.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.catrigl.o -MTcatrigl.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/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 = 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 = 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 = (m_ln2 - logl(ay)) / 2;
>>        ^~~~~
>> *** [catrigl.o] Error code 1
> 
> 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:
> 
> -isystem /workspace/obj/workspace/src/amd64.amd64/obj-lib32/tmp/usr/include
> 
> but the failing one did not. Working ( -r335773 ) is shown first.
> 
> --- catrigl.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
> -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=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/src/catrigl.c
> -o catrigl.o
> 
> 
> --- catrigl.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.catrigl.o
> -MTcatrigl.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/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):
> 
> 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=/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).

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
Received on Fri Jun 29 2018 - 00:54:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC