Re: Build updates [ ci.freebsd.org FreeBSD-head-{aarch64,armv7,armv6}-build failures as of, for example -r335711 and -r335713 ]

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Wed, 27 Jun 2018 11:58:10 -0700
On 6/27/2018 11:44 AM, Bryan Drewery wrote:
> On 6/27/2018 10:53 AM, Mark Millard wrote:
>>
>>> On 2018-Jun-27, at 10:01 AM, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>>>
>>> As of r335704:
>>>
>>> - make tinderbox/universe will now build the bootstrap clang *once*.
>>> Each target clang is still build of course.  This support does not work
>>> with gcc.
>>> - make buildworld (kernel-toolchain and toolchain) will build the
>>> bootstrap clang (if needed per SYSTEM_COMPILER logic) with only the
>>> TARGET.TARGET_ARCH backend support. The installed clang has all still so
>>> SYSTEM_COMPILER logic works for cross-compling.
>>>
>>> This uses the feature dim_at_ added in r335558 to selectively disable LLVM
>>> targets. I've added a new option named WITH[OUT]_LLVM_TARGET_ALL which I
>>> suggest using rather than the per-arch options. It is default on (WITH).
>>> Set WITHOUT to only build the needed native arch on your system for both
>>> bootstrap and compiled clang. Setting WITHOUT disables SYSTEM_COMPILER
>>> support for cross-builds.
>>>
>>> Please CC me directly for any weird tinderbox/universe or clang failures
>>> for the next few weeks.
> 
> Thanks!
> 
>>
>> https://ci.freebsd.org/job/FreeBSD-head-aarch64-build/8324/consoleText
>>
>> --- all_subdir_cloudabi32 ---
>> clang (LLVM option parsing): Unknown command line argument '-arm-add-build-attributes'.  Try: 'clang (LLVM option parsing) -help'
>> clang (LLVM option parsing): Did you mean '-force-attribute'?
>> *** [cloudabi32_vdso.o] Error code 1
>>
> 
> This was an aarch64 build. It looks like -arm-add-build-attributes is
> from Target/ARM/AsmParser/ARMAsmParser.cpp which is only built for
> LLVM_TARGET_ARM but not LLVM_TARGET_AARCH64.
> 
> Looking in contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp I
> see the option is only added for:
> 
> case llvm::Triple::arm:
> case llvm::Triple::armeb:
> case llvm::Triple::thumb:
> case llvm::Triple::thumbeb:
> 
> But not llvm::Triple::aarch64. So where is it coming from?
> 

cc -target aarch64-unknown-freebsd12.0
--sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
-B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -x assembler-with-cpp -m32
-shared -nostdinc -nostdlib
-Wl,-T/usr/src/sys/compat/cloudabi/cloudabi_vdso.lds
/usr/src/sys/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S -o
cloudabi32_vdso.o

It must be the -m32 here making it build with llvm::Triple::arm.
So we may need to include more of LLVM_TARGET_ARM in LLVM_TARGET_AARCH64.
I'm testing locally to see how much is needed.

>>
>> https://ci.freebsd.org/job/FreeBSD-head-armv7-build/460/consoleText
>> (armv6 is similar)
>>
>> --- all_subdir_lib/clang/libllvm ---
>> ===> lib/clang/libllvm (all)
>> [Creating objdir /usr/obj/usr/src/arm.armv7/tmp/obj-tools/lib/clang/libllvm...]
>> make[4]: "/usr/src/lib/clang/libllvm/Makefile" line 16: Please enable at least one of: MK_LLVM_TARGET_AARCH64, MK_LLVM_TARGET_ARM, MK_LLVM_TARGET_MIPS, MK_LLVM_TARGET_POWERPC, MK_LLVM_TARGET_SPARC, or MK_LLVM_TARGET_X86
>> *** [all_subdir_lib/clang/libllvm] Error code 1
>>
> 
> Arm failures fixed in r335718.
> 
> 
> 


-- 
Regards,
Bryan Drewery


Received on Wed Jun 27 2018 - 16:58:17 UTC

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