FreeBSD_HEAD_amd64_gcc4.9 - Build #673 - Failure
NGie Cooper
yaneurabeya at gmail.com
Sat Oct 17 07:09:36 UTC 2015
> On Oct 16, 2015, at 23:38, NGie Cooper <yaneurabeya at gmail.com> wrote:
>
>> On Oct 16, 2015, at 23:26, NGie Cooper <yaneurabeya at gmail.com> wrote:
>>
>>> On Oct 16, 2015, at 22:33, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>>
>> ...
>>
>>>> I don't see how these changes cause this and I'm unable to reproduce
>>>> here. Is anyone else hitting this?
>>>>
>>>
>>> https://jenkins.freebsd.org/job/FreeBSD_HEAD_sparc64/lastBuild/consoleText
>>>
>>> The sparc64 build is past this. I don't think it was due to my changes,
>>> which were largely a NOP.
>>>
>>> I'm going to bed now, will look more tomorrow.
>>
>> I just hit it on my 10.2-RELEASE host with dual-SSDs and gobs of RAM. It’s a race somewhere in the clang build… just not sure where yet.
>> Thanks,
>> -NGie
>>
>> --- 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/clang/include/clang/Basic/arm_neon.td
>> /home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td:701:1: error: Record `VMOVL' does not have a field named `Operand'!
>>
>> def VMOVL : SInst<"vmovl", "wd", "csiUcUsUi">;
>>
>> *** [arm_neon.h] Error code 1
>
> And… FWIW I’m not sure your last set of changes caused this. Needs more investigation.
> Thanks!
> -NGie
Hmm… it’s the only generated header:
67 GENINCS= arm_neon.h
68 CLEANFILES= ${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/clang/include/clang/Basic/arm_neon.td
/home/ngie/git/freebsd/src/lib/clang/include/../../../contrib/llvm/tools/clang/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} == "host" && defined(BOOTSTRAPPING_TOOLS)
44 .if !empty(LEGACY_TOOLS) && exists(${LEGACY_TOOLS}/usr/bin/tblgen)
45 TOOLSDIR= ${LEGACY_TOOLS}
46 .endif
47 .endif
48 .if ${MK_STAGING} == "yes" && exists(${STAGE_HOST_OBJTOP:Uno}/usr/bin/tblgen)
49 TOOLSDIR= ${STAGE_HOST_OBJTOP}
50 .endif
51 .if exists(${LEGACY_TOOLS:Uno}/usr/bin/tblgen)
52 TOOLSDIR= ${LEGACY_TOOLS}
53 .endif
54 .endif
55 TOOLSDIR?=
56 .if !empty(TOOLSDIR) && exists(${TOOLSDIR}/usr/bin/clang-tblgen)
57 TBLGEN= ${TOOLSDIR}/usr/bin/tblgen
58 CLANG_TBLGEN= ${TOOLSDIR}/usr/bin/clang-tblgen
59 .endif
60 TBLGEN?= tblgen
61 CLANG_TBLGEN?= clang-tblgen
This kind of complexity matched something that I simplified at $work due to build races…
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/clang/include/clang/Basic/arm_neon.td
$
Voila.
So this is happening because it’s using clang-tblgen from the build host somehow, which is not able to process the .td files.
Thanks!
-NGie
More information about the freebsd-current
mailing list