Page MenuHomeFreeBSD

build: Boostrap LLVM_BINUTILS for cross-tools
ClosedPublic

Authored by emaste on Wed, Mar 18, 5:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 30, 6:40 PM
Unknown Object (File)
Mon, Mar 30, 4:28 PM
Unknown Object (File)
Mon, Mar 30, 3:27 PM
Unknown Object (File)
Sat, Mar 28, 12:39 AM
Unknown Object (File)
Fri, Mar 27, 3:40 AM
Unknown Object (File)
Fri, Mar 27, 12:13 AM
Unknown Object (File)
Thu, Mar 26, 6:09 AM
Unknown Object (File)
Thu, Mar 26, 12:44 AM

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

Update WITHOUT_LLVM_BINUTILS_BOOTSTRAP description.

It looks like the cross build is currently broken for other reasons

/Users/runner/work/freebsd-src/freebsd-src/contrib/tzcode/zic.c:1574:10: error: call to undeclared library function 'mempcpy' with type 'void *(void *, const void *, unsigned long)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
 1574 |     cp = mempcpy(cp, src, dirlen);
      |          ^
/Users/runner/work/freebsd-src/freebsd-src/contrib/tzcode/zic.c:1574:10: note: include the header <string.h> or explicitly provide a declaration for 'mempcpy'

Two failures:

  • Cross-build Kernel / aarch64 macos-latest (clang-18) Failed in 19 minutes and 24 seconds
  • Cross-build Kernel / amd64 macos-latest (clang-18) Failed in 5 minutes and 15 seconds

All four Ubuntu cross-build jobs passed

This revision was not accepted when it landed; it landed in state Needs Review.Fri, Mar 20, 1:40 PM
This revision was automatically updated to reflect the committed changes.

This seems to have broken the build when building natively with WITHOUT_CROSS_COMPILER=yes, see thread on src-committers-all:

--- llvm-ar.full ---
c++ -O2 -pipe -fno-common -I/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/clang/libllvm -I/usr/home/fuz/freebsd-simd/src/lib/clang/include -I/usr/home/fuz/freebsd-simd/src/contrib/llvm-project/llvm/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_VCS_VERSION_INC -DLLVM_DEFAULT_TARGET_TRIPLE=\"x86_64-unknown-freebsd16.0\" -DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd16.0\" -DDEFAULT_SYSROOT=\"/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp\" -DLLVM_TARGET_ENABLE_X86 -DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser -DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter -DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler -DLLVM_NATIVE_TARGET=LLVMInitializeX86Target -DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo -DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC -ffunction-sections -fdata-sections -gline-tables-only -Wno-format-zero-length -Wdate-time -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-parameter -Wno-error=cast-function-type-mismatch -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments -I/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/legacy/usr/include -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -gline-tables-only -std=c++17 -stdlib=libc++  -Wl,--gc-sections -Wl,-zrelro -static    -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/legacy/usr/lib -o llvm-ar.full  llvm-ar-driver.o llvm-ar.o /usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/clang/libllvm/libllvm.a -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/libz -lz -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/libzstd -lprivatezstd -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/libthr -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/libexecinfo -lexecinfo -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/libelf -lelf -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/ncurses/tinfo -ltinfow -L/usr/obj/usr/home/fuz/freebsd-simd/src/amd64.amd64/tmp/obj-tools/lib/libthr -lpthread  -legacy
ld: error: undefined symbol: llvm::libDriverMain(llvm::ArrayRef<char const*>)
>>> referenced by llvm-ar.cpp:1535 (/usr/home/fuz/freebsd-simd/src/contrib/llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp:1535)
>>>               llvm-ar.o:(llvm_ar_main(int, char**, llvm::ToolContext const&))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [llvm-ar.full] Error code 1

make[3]: stopped making "all" in /usr/home/fuz/freebsd-simd/src/usr.bin/clang/llvm-ar
make[3]: 1 error