Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Oct 2015 00:09:34 -0700
From:      NGie Cooper <yaneurabeya@gmail.com>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        jenkins-admin@FreeBSD.org, ngie@FreeBSD.org, freebsd-current@FreeBSD.org
Subject:   Re: FreeBSD_HEAD_amd64_gcc4.9 - Build #673 - Failure
Message-ID:  <78883694-7B54-4AC3-9B5B-D715D5DA1F88@gmail.com>
In-Reply-To: <2B9A4B89-6D0D-4549-B249-FB30A8117DDF@gmail.com>
References:  <1743862498.27.1445058611319.JavaMail.jenkins@jenkins-9.freebsd.org> <5621D9F1.9080707@FreeBSD.org> <5621DDB1.8020807@FreeBSD.org> <31F4FEC4-B677-4EA1-BD67-F2DC458A99E4@gmail.com> <2B9A4B89-6D0D-4549-B249-FB30A8117DDF@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Oct 16, 2015, at 23:38, NGie Cooper <yaneurabeya@gmail.com> wrote:
>=20
>> On Oct 16, 2015, at 23:26, NGie Cooper <yaneurabeya@gmail.com> wrote:
>>=20
>>> On Oct 16, 2015, at 22:33, Bryan Drewery <bdrewery@FreeBSD.org> =
wrote:
>>=20
>> ...
>>=20
>>>> I don't see how these changes cause this and I'm unable to =
reproduce
>>>> here.  Is anyone else hitting this?
>>>>=20
>>>=20
>>> =
https://jenkins.freebsd.org/job/FreeBSD_HEAD_sparc64/lastBuild/consoleText=

>>>=20
>>> The sparc64 build is past this. I don't think it was due to my =
changes,
>>> which were largely a NOP.
>>>=20
>>> I'm going to bed now, will look more tomorrow.
>>=20
>> I just hit it on my 10.2-RELEASE host with dual-SSDs and gobs of RAM. =
It=92s a race somewhere in the clang build=85 just not sure where yet.
>> Thanks,
>> -NGie
>>=20
>> --- arm_neon.h ---
>> clang-tblgen -gen-arm-neon  -d arm_neon.d -o arm_neon.h  =
/home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/c=
lang/include/clang/Basic/arm_neon.td
>> =
/home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/c=
lang/include/clang/Basic/arm_neon.td:701:1: error: Record `VMOVL' does =
not have a field named `Operand'!
>>=20
>> def VMOVL        : SInst<"vmovl", "wd",  "csiUcUsUi">;
>>=20
>> *** [arm_neon.h] Error code 1
>=20
> And=85 FWIW I=92m not sure your last set of changes caused this. Needs =
more investigation.
> Thanks!
> -NGie

Hmm=85 it=92s the only generated header:

67 GENINCS=3D arm_neon.h
68 CLEANFILES=3D ${GENINCS} ${GENINCS:C/\.h$/.d/}

Well, lookie here:

$ make clean
rm -f arm_neon.h arm_neon.d
$ make arm_neon.h
clang-tblgen -gen-arm-neon  -d arm_neon.d -o arm_neon.h  =
/home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/c=
lang/include/clang/Basic/arm_neon.td
=
/home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/c=
lang/include/clang/Basic/arm_neon.td:701:1: error: Record `VMOVL' does =
not have a field named `Operand'!

def VMOVL        : SInst<"vmovl", "wd",  "csiUcUsUi">;
^
*** Error code 1

Stop.
make: stopped in /home/ngie/git/freebsd/src/lib/clang/include

The important thing to note is the Jenkins servers are running stable/10 =
code too (IIRC), so it might be a mismatch in the tools.

Also, this logic looks troublesome:

 42 .if empty(TOOLSDIR) || !exists(${TOOLSDIR}/usr/bin/clang-tblgen)
 43 .if ${MACHINE} =3D=3D "host" && defined(BOOTSTRAPPING_TOOLS)
 44 .if !empty(LEGACY_TOOLS) && exists(${LEGACY_TOOLS}/usr/bin/tblgen)
 45 TOOLSDIR=3D ${LEGACY_TOOLS}
 46 .endif
 47 .endif
 48 .if ${MK_STAGING} =3D=3D "yes" && =
exists(${STAGE_HOST_OBJTOP:Uno}/usr/bin/tblgen)
 49 TOOLSDIR=3D ${STAGE_HOST_OBJTOP}
 50 .endif
 51 .if exists(${LEGACY_TOOLS:Uno}/usr/bin/tblgen)
 52 TOOLSDIR=3D ${LEGACY_TOOLS}
 53 .endif
 54 .endif
 55 TOOLSDIR?=3D
 56 .if !empty(TOOLSDIR) && exists(${TOOLSDIR}/usr/bin/clang-tblgen)
 57 TBLGEN=3D ${TOOLSDIR}/usr/bin/tblgen
 58 CLANG_TBLGEN=3D ${TOOLSDIR}/usr/bin/clang-tblgen
 59 .endif
 60 TBLGEN?=3D        tblgen
 61 CLANG_TBLGEN?=3D  clang-tblgen

This kind of complexity matched something that I simplified at $work due =
to build races=85

Guess what happens when I use a proper clang-tblgen?

$ make all
=
/usr/obj/home/ngie/git/freebsd/src/usr.bin/clang/clang-tblgen/clang-tblgen=
 -gen-arm-neon  -d arm_neon.d -o arm_neon.h  =
/home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/c=
lang/include/clang/Basic/arm_neon.td
$

Voila.

So this is happening because it=92s using clang-tblgen from the build =
host somehow, which is not able to process the .td files.

Thanks!
-NGie=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?78883694-7B54-4AC3-9B5B-D715D5DA1F88>