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
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC