FreeBSD_HEAD_amd64_gcc4.9 - Build #673 - Failure

Bryan Drewery bdrewery at FreeBSD.org
Sat Oct 17 14:46:14 UTC 2015



> On Oct 17, 2015, at 00:09, NGie Cooper <yaneurabeya at gmail.com> wrote:
> 
> 
>>> 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.

Hm, I will look more shortly.

> 
> Thanks!
> -NGie


More information about the freebsd-current mailing list