clang build failure with WITH_LLVM_TARGET_BPF=yes

From: Ryan Stone <rysto32_at_gmail.com>
Date: Wed, 7 Jul 2021 17:06:33 -0400
I have the following option enabled in src.conf, and I'm getting this
build failure in clang.  Disabling the option seems to fix the build.

ld: error: undefined symbol:
llvm::initializeBPFAdjustOptPass(llvm::PassRegistry&)
>>> referenced by BPFTargetMachine.cpp
>>>               BPFTargetMachine.o:(LLVMInitializeBPFTarget) in archive /usr/obj/srcpool/src/rstone/freebsd/amd64.amd64/tmp/obj-tools/lib/clan
g/libllvm/libllvm.a

ld: error: undefined symbol:
llvm::initializeBPFCheckAndAdjustIRPass(llvm::PassRegistry&)
>>> referenced by BPFTargetMachine.cpp
>>>               BPFTargetMachine.o:(LLVMInitializeBPFTarget) in archive /usr/obj/srcpool/src/rstone/freebsd/amd64.amd64/tmp/obj-tools/lib/clan
g/libllvm/libllvm.a

ld: error: undefined symbol: llvm::createBPFCheckAndAdjustIR()
>>> referenced by BPFTargetMachine.cpp
>>>               BPFTargetMachine.o:((anonymous namespace)::BPFPassConfig::addIRPasses()) in archive /usr/obj/srcpool/src/rstone/freebsd/amd64.
amd64/tmp/obj-tools/lib/clang/libllvm/libllvm.a

ld: error: undefined symbol: llvm::createBPFAdjustOpt()
>>> referenced by BPFTargetMachine.cpp
>>>               BPFTargetMachine.o:(std::__1::__function::__func<llvm::BPFTargetMachine::adjustPassManager(llvm::PassManagerBuilder&)::$_2, st
d::__1::allocator<llvm::BPFTargetMachine::adjustPassManager(llvm::PassManagerBuilder&)::$_2>,
void (llvm::PassManagerBuilder const&, llvm::legac
y::PassManagerBase&)>::operator()(llvm::PassManagerBuilder const&,
llvm::legacy::PassManagerBase&)) in archive
/usr/obj/srcpool/src/rstone/freeb
sd/amd64.amd64/tmp/obj-tools/lib/clang/libllvm/libllvm.a

ld: error: undefined symbol:
llvm::BPFAdjustOptPass::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
>>> referenced by BPFTargetMachine.cpp
>>>               BPFTargetMachine.o:(llvm::detail::PassModel<llvm::Module, llvm::BPFAdjustOptPass, llvm::PreservedAnalyses, llvm::AnalysisManag
er<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)) in archive
/usr/obj/srcpool/src/rstone/freebsd/amd64.amd64/tmp/obj
-tools/lib/clang/libllvm/libllvm.a
Received on Wed Jul 07 2021 - 21:06:33 UTC

Original text of this message